Sie sind auf Seite 1von 217

Clculo Numrico

Uma Introduo s Tcnicas Elementares


Waldir L. Roque

Instituto de Matemtica
Universidade Federal do Rio Grande do Sul

ste texto uma verso preliminar.

Direitos autorais reservados ao autor.

Waldir L.
Roque

Assinado de forma digital por


Waldir L. Roque
DN: cn=Waldir L. Roque, o, ou,
email=wlroque@gmail.com,
c=BR
Dados: 2013.08.08 15:25:30
-03'00'

Sumrio
Prefcio
1

ERROS COMPUTACIONAIS

1.1

1.2

1.3

Sistemas de numerao . . . . . . . . . . . . . . . . .
1.1.1 Sistema mtrico versus sistema de numerao
1.1.2 Base de numerao . . . . . . . . . . . . . . .
1.1.3 Sistema decimal . . . . . . . . . . . . . . . . .
1.1.4 Sistema binrio . . . . . . . . . . . . . . . . .
Converso de decimal para binrio . . . . . .
Parte inteira . . . . . . . . . . . . . . . . . . .
Parte fracionria . . . . . . . . . . . . . . . .
Algoritmo de converso binrio-decimal . . . .
Algoritmo de converso decimal-binrio . . . .
1.1.5 Outros sistemas de numerao . . . . . . . . .
Sistema octal . . . . . . . . . . . . . . . . . .
Sistema hexadecimal . . . . . . . . . . . . . .
Sistema de ponto utuante . . . . . . . . . . . . . . .
1.2.1 Representao em ponto utuante . . . . . . .
1.2.2 Representao compacta de um nmero . . . .
1.2.3 Operaes aritmticas com ponto utuante . .
Adio . . . . . . . . . . . . . . . . . . . . . .
Multiplicao . . . . . . . . . . . . . . . . . .
Diviso . . . . . . . . . . . . . . . . . . . . .
1.2.4 Distributividade e associatividade . . . . . . .
1.2.5 Preciso e exatido de mquina . . . . . . . .
Tipos de erros . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Erros de dados . . . . . . . . . . . . . . . . .
1.3.2 Erros do modelo . . . . . . . . . . . . . . . .
1.3.3 Erros por truncamento . . . . . . . . . . . . .
1.3.4 Erros por arredondamento . . . . . . . . . . .
1.3.5 Erros absoluto e relativo . . . . . . . . . . . .
3

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Waldir L.
Roque

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

11

13
13
14
14
15
16
16
17
19
20
20
20
21
22
23
24
27
27
28
29
30
31
31
32
32
32
33
35

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09 12:26:28
-03'00'

4
1.4

1.5
1.6

Propagao de erros . . . . .
1.4.1 Adio . . . . . . . . .
1.4.2 Subtrao . . . . . . .
1.4.3 Multiplicao . . . . .
1.4.4 Diviso . . . . . . . . .
1.4.5 Operao geral . . . .
Complexidade computacional
Exerccios propostos . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

RESOLUO DE EQUAES ALGBRICAS E TRANSCENDENTAIS

2.1
2.2
2.3

Isolamento de razes . . . . . . . . . . . .
Equaes algbricas . . . . . . . . . . . . .
Valor numrico de um polinmio . . . . . .
2.3.1 Mtodo de Briot-Runi . . . . . .
2.3.2 Mtodo de Horner . . . . . . . . .
2.4 Limites das razes polinomiais . . . . . . .
2.5 Nmero de razes reais . . . . . . . . . . .
2.6 Regra de sinais de Descartes . . . . . . . .
2.6.1 Razes imaginrias . . . . . . . . .
2.7 Relaes de Girard . . . . . . . . . . . . .
2.8 Equaes transcendentais . . . . . . . . . .
2.9 Grau de exatido de uma raiz . . . . . . .
2.10 Razes complexas . . . . . . . . . . . . . .
2.11 Mtodos iterativos para renamento de
2.11.1 Mtodo da bisseo . . . . . . . . .
Critrio da convergncia . . . . . .
2.11.2 Mtodo das cordas ou das secantes
Critrio da convergncia . . . . . .
2.11.3 Mtodo de Newton-Raphson . . . .
Critrio da convergncia . . . . . .
2.11.4 Mtodo da iterao linear . . . . .
Critrio da convergncia . . . . . .
2.12 Exerccios propostos . . . . . . . . . . . .

. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
razes
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

RESOLUO DE SISTEMAS DE EQUAES ALGBRICAS

3.1
3.2

Sistemas lineares . . . . . .
3.1.1 Sistemas compatveis
3.1.2 Sistemas triangulares
Transformaes elementares

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

37
37
38
38
39
39
40
41

43

44
45
46
46
48
49
52
52
53
54
55
56
58
59
59
60
62
65
66
68
68
70
71

75

75
77
78
79

5
3.3

3.4
3.5

3.6

Soluo numrica de sistemas de equaes algbricas lineares


3.3.1 Mtodos diretos . . . . . . . . . . . . . . . . . . . . .
Mtodo de Gauss . . . . . . . . . . . . . . . . . . . .
Mtodo da pivotizao completa . . . . . . . . . . . .
Mtodo de Jordan . . . . . . . . . . . . . . . . . . .
3.3.2 Renamento de solues . . . . . . . . . . . . . . . .
3.3.3 Mtodos iterativos . . . . . . . . . . . . . . . . . . .
Mtodo de Jacobi . . . . . . . . . . . . . . . . . . . .
Mtodo de Gauss-Seidel . . . . . . . . . . . . . . . .
Mtodo de Sobre-Relaxao Sucessiva . . . . . . . . .
Sistemas mal-condicionados . . . . . . . . . . . . . . . . . .
Sistemas no lineares . . . . . . . . . . . . . . . . . . . . . .
3.5.1 Mtodo do ponto xo . . . . . . . . . . . . . . . . . .
3.5.2 Mtodo de iterao no linear de Seidel . . . . . . . .
3.5.3 Mtodo de Newton para sistemas . . . . . . . . . . .
Exerccios propostos . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 79
. 79
. 80
. 82
. 84
. 84
. 85
. 86
. 88
. 89
. 89
. 90
. 91
. 96
. 97
. 100

APROXIMAO DE AUTOVALORES

4.1

Autovalores e autovetores . . . . . . . . . . . . . . . . . . . . . . 105


4.1.1 Mtodo da potncia . . . . . . . . . . . . . . . . . . . . . . 107

INTERPOLAO

5.1
5.2
5.3
5.4
5.5

5.6

5.7
5.8

5.9

105

Interpolao linear . . . . . . . . . . . . . . . . . . . . . . . . . .
Interpolao quadrtica . . . . . . . . . . . . . . . . . . . . . . . .
Existncia e unicidade do polinmio interpolador . . . . . .
Interpolao de Lagrange . . . . . . . . . . . . . . . . . . . . . . .
Erros de truncamento . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Erro de truncamento na interpolao linear . . . . . . . . .
5.5.2 Erro de truncamento na interpolao quadrtica . . . . . .
5.5.3 Erro de truncamento na interpolao de Lagrange . . . . .
Interpolao de Newton . . . . . . . . . . . . . . . . . . . . . . .
5.6.1 Frmula de Newton para interpolao com diferenas
divididas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.2 Comparao dos mtodos de Newton e Lagrange . . . . . .
Interpolao com diferenas nitas . . . . . . . . . . . . . . . . .
Interpolao por Splines . . . . . . . . . . . . . . . . . . . . . . .
5.8.1 Spline linear . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8.2 Spline cbica . . . . . . . . . . . . . . . . . . . . . . . . .
Exerccios propostos . . . . . . . . . . . . . . . . . . . . . . . . .

111

113
115
116
117
118
120
121
122
123
125
127
129
130
131
132
137

AJUSTE DE CURVAS

6.1
6.2
6.3

6.4
6.5
6.6

Critrios para medida da qualidade dos


Mtodo dos mnimos quadrados . . . . . .
Ajuste polinomial . . . . . . . . . . . . . .
6.3.1 Ajuste por uma reta . . . . . . . .
6.3.2 Ajuste polinomial quadrtico . . .
6.3.3 Ajuste polinomial geral . . . . . . .
Ajuste no linear . . . . . . . . . . . . . .
6.4.1 Casos redutveis ao linear . . . . .
Coeciente de determinao . . . . . . . .
Exerccios propostos . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

ajustes .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

MTODOS DE DERIVAO NUMRICA

7.1
7.2
7.3
7.4
7.5

Aproximao da derivada por diferenas . .


Aproximao por polinmios interpoladores
Derivadas de ordem superior . . . . . . . . .
Extrapolao de Richardson . . . . . . . . .
Exerccios propostos . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

MTODOS DE INTEGRAO NUMRICA

8.1

8.2

8.3

8.4
8.5

8.6

Regra dos trapzios . . . . . . . . . . . . . . . . . . . . .


8.1.1 Erro de truncamento . . . . . . . . . . . . . . . .
8.1.2 Frmula composta dos trapzios . . . . . . . . . .
Regras de Simpson . . . . . . . . . . . . . . . . . . . . .
8.2.1 Primeira regra de Simpson . . . . . . . . . . . . .
8.2.2 Primeira regra de Simpson composta . . . . . . .
8.2.3 Segunda regra de Simpson . . . . . . . . . . . . .
8.2.4 Segunda regra de Simpson composta . . . . . . .
Quadratura Gaussiana . . . . . . . . . . . . . . . . . . .
8.3.1 Quadratura Gaussiana com n = 1 . . . . . . . . .
8.3.2 Quadratura gaussiana para n = 2 . . . . . . . . .
8.3.3 Procedimento geral . . . . . . . . . . . . . . . . .
8.3.4 Erro de truncamento . . . . . . . . . . . . . . . .
Integrais imprprias . . . . . . . . . . . . . . . . . . . . .
Integrais mltiplas . . . . . . . . . . . . . . . . . . . . .
8.5.1 Aplicando a primeira regra de Simpson composta
8.5.2 Aplicando a quadratura Gaussiana . . . . . . . .
Exerccios propostos . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

139

140
141
144
144
146
148
148
149
151
151

153

153
155
158
159
160

163

164
166
167
168
168
170
171
172
173
174
176
177
178
179
180
180
186
189

RESOLUO NUMRICA DE EDO'S

9.1

9.2

9.3
9.4
9.5

Resoluo do problema do valor inicial . .


9.1.1 Mtodo da srie de Taylor . . . . .
9.1.2 Mtodo de Euler . . . . . . . . . .
Erros no mtodo de Euler . . . . .
9.1.3 Mtodos de Runge-Kutta . . . . . .
Mtodo de Heun . . . . . . . . . .
Mtodo clssico de Runge-Kutta .
Mtodos de passos mltiplos . . . . . . . .
9.2.1 Mtodo trapezoidal . . . . . . . . .
9.2.2 Mtodo de Simpson . . . . . . . . .
9.2.3 Mtodo de Adams-Basforth-Multon
Equaes de ordens superiores . . . . . . .
Problema do valor de fronteira . . . . . . .
Exerccios propostos . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

191

192
192
195
197
198
198
199
201
201
204
204
205
210
213

Bibliograa

215

ndice remissivo

217

Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:27:03 -03'00'

Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:27:45 -03'00'

Prefcio

Este livro o resultado da compilao das notas de aula do autor, as quais


foram utilizadas para ministrar a disciplina de clculo numrico em cursos de
graduao nas reas de cincias exatas e engenharias. A proposta deste livro
apresentar um material introdutrio sobre tcnicas de clculo numrico. Como
um texto introdutrio, evitamos a apresentao demasiada de demonstraes de
muitos dos resultados mencionados nos teoremas, o quais podero ser facilmente
pesquisados em textos mais avanados sobre o assunto. Os prerequisitos bsicos
para que o estudante possa estudar por este livro, sem maiores diculdades, so
um curso introdutrio de clculo diferencial e integral, lgebra linear e noes de
computao.
O contedo coberto por este livro suciente para satisfazer os requisitos de
um primeiro curso de clculo numrico para as reas de cincias exatas e engenharias, podendo ser particularmente til como suporte quelas disciplinas de
noes de clculo numrico oferecidas para cursos de graduao de outras reas, as
quais tratam apenas de alguns dos tpicos abordados no livro. Ao longo do texto,
vrios exemplos so apresentados como ilustrao do uso da tcnica discutida.
Ao nal de cada captulo exemplos e exerccios adicionais so apresentados e
propostos. Deste modo, o livro pode ser utilizado pelos estudantes como se fosse
as suas prprias notas de aula.
Escrever um texto sobre uma disciplina bsica havendo inmeros outros textos j escritos sobre o assunto, nos leva, muitas vezes, a utilizar alguns exemplos
ilustrativos, que pela sua riqueza, j o foram abordados de forma semelhante
em outros livros. Como a idia aqui sempre ilustrar a aplicao dos mtodos
com exemplos, a consulta, adicionalmente, a exemplos e exerccios apresentados
e propostos em outros livros importante para enriquecer o aprendizado e a utilizao dos mtodos. Isto permite ao estudante uma maior exibilidade em leituras
complementares, uma vez que a consulta a outros livros amplia o conhecimento.
Em muitas instituies de ensino superior do pas, os cursos de clculo numrico nem sempre so ministrados com auxlio de recursos computacionais, em
virtude da ausncia de equipamentos e software. Por um lado a utilizao integrada por ser til, porm muitas vezes h uma grande enfase no aprendizado dos
softwares em detrimento do essencial que so as tcnicas propriamente ditas. Hoje
9

10
em dia grande parte dos estudantes possuem calculadoras e computadores portteis ou mesmo so disponibilizados em laboratrios nas instituies de ensino, o
que amplia enormemente a possibilidade de realizao de exerccios demandando
uma maior experincia computacional. Muitos softwares para computao numrica ou mesmo integrados com computao algbrica e grca esto disponveis
tanto comercialmente quanto de domnio pblico, com uma capacidade enorme
de clculo. Deste modo, este livro est muito mais direcionado ao ensino das
tcnicas do que s suas implementaes computacionais.
Uma bibliograa complementar apresentada no nal do livro, onde os textos
citados foram escolhidos com os compromissos de qualidade e acessibilidade, j
que a maioria pode ser facilmente encontrada nas bibliotecas, livrarias ou mesmo
na internet. H vrios outros bons livros-textos de clculo numrico que no foram
citados na bibliograa e que podero tambm ser consultados pelos estudantes.

Waldir L. Roque, fevereiro de 2013.

Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L.
Roque, o, ou,
email=wlroque@gma
il.com, c=BR
Dados: 2013.08.09
12:28:56 -03'00'

Captulo 1
ERROS COMPUTACIONAIS

A observao dos fenmenos da natureza uma grande fonte de inspirao


para os pesquisadores. A necessidade de conhecer como e quais so os mecanismos associados aos fenmenos da natureza delimitam um conjunto de informaes conceituais que do origem a um problema que, comumente, denominamos
de problema fsico. O caminho mais imediato e natural para tratarmos e compreendermos um problema fsico procurando caracteriz-lo e descrev-lo por meio
de um modelo, que em muitas reas utiliza a matemtica como instrumento e
linguagem para tal nalidade.
Os modelos matemticos empregam mtodos e tcnicas que envolvem, no sentido mais amplo, a resoluo de equaes, cujas solues subsidiam a comparao
dos resultados, por meio de experimentos e/ou observaes, com o fenmeno investigado. Na prtica, dizemos que um modelo tanto mais adequado descrio
do fenmeno quanto menor for o desvio da soluo do problema fsico com relao
ao mundo observvel. A Figura 1.1 ilustra a cadeia da pesquisa cientca.
Matemtica aplicada e computacional uma rea que atua muito fortemente
nos vrios segmentos da investigao cientca. Particularmente, tem um papel importante na modelagem e resoluo dos problemas fsicos. A computao
tornou-se uma grande aliada nessas etapas, permitindo que a resoluo de equaes no triviais, e que requerem grande nmero de clculos, possam ser realizadas
com mais rapidez e ecincia.
A construo de um modelo para um problema fsico no uma tarefa trivial,
especialmente quando se deseja levar em considerao muitos detalhes. Portanto,
diversas vezes modelos simplicados so utilizados, proporcionando uma viso
geral do sistema fsico em anlise, sem contudo ser completo. Os modelos mais
simples, por no levarem em considerao algumas variveis importantes, produzem erros inerentes, exclusivamente, devido ao modelo adotado.
Um exemplo ilustrativo de erros gerados pela escolha do modelo pode ser visto
no caso do movimento de um corpo sujeito a uma acelerao constante. Nesse

12

clculo numrico

Figura 1.1: Cadeia da pesquisa cientca.


sistema fsico, o modelo pode ser de tal forma que a equao do movimento
dada por:

1
S = s0 + v0 t + at2 ,
2
onde S o espao percorrido pelo corpo, partindo de uma posio inicial s0 com
velocidade v0 e acelerao a, e t indica o tempo de movimento do objeto.
Suponha que desejamos determinar a altura de um penhasco, utilizando esse
modelo. Se largarmos uma esfera de ao do alto do penhasco, sua velocidade
inicial nula, v0 = 0. Observando que a esfera levou um tempo t = 5 segundos
para atingir o solo, e que a acelerao que atua sobre a esfera a da gravidade,
que podemos considerar como g = 9, 8 m/s2 , usando a equao anterior, tem-se:
1
9.8 52 = 122, 5 m.
2
primeira vista, podemos achar que esse resultado convel. De certa
forma, razovel, dependendo da exatido exigida. No entanto, o modelo adoS =0+05+

Waldir
L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:29:32 -03'00'

erros computacionais

13

tado pode ser muito mais renado, se considerarmos alguns aspectos importantes
que interferem sobre o sistema, como: (i) resistncia do ar sobre a esfera, (ii)
velocidade e direo do vento, e (iii) constante gravitacional. Assim, um novo
modelo, mais sosticado, pode ser construdo, resultando em um modelo mais
prximo da realidade do problema fsico.
Muitas vezes, os modelos conduzem a um conjunto de equaes (algbricas,
diferenciais ordinrias ou parciais no lineares, tensoriais, etc.) cuja soluo
obtida quando tais equaes so resolvidas. Na fase de resoluo, as equaes
que descrevem o modelo do sistema fsico nem sempre podem ser resolvidas de
forma exata, e, portanto, h a necessidade da utilizao de mtodos numricos e
aproximaes de funes, o que conduz a erros.
Por m, a prpria medida realizada com aparelhos mecnicos ou eletrnicos
apresenta erros em suas medies. Dessa forma, vemos que h muitas etapas no
processo de investigao de um problema fsico que so passveis de gerar erros.
Neste captulo, estaremos interessados particularmente nos erros que surgem
na fase de resoluo do problema. Vamos considerar inicialmente os erros que
surgem devido ao sistema de numerao adotado. Para isso, apresentaremos
algumas noes sobre os principais sistemas de numerao.

1.1 Sistemas de numerao


1.1.1 Sistema mtrico versus sistema de numerao
Quando perguntamos a altura de uma pessoa comum simplesmente ouvirmos
um nmero, por exemplo, 1, 72, que imediatamente assumimos como sendo 1
metro de 72 centimetros. O mesmo ocorre para o peso, 65, que j admitimos
como sendo em quilogramas. Aqui temos duas noes postas juntas, um valor
numrico 1, 72 e uma indicao do sistema de unidades. Como aprendemos desde
a infncia o Sistema Mtrico Internacional (SI), adotado pelo Brasil e por muitos
pases, temos uma sensao bastante clara do que signica 1, 72m ou mesmo 65kg.
Se perguntassemos a uma pessoa na Inglaterra qual a sua altura poderamos ouvir
algo como 5, 6 ps. Neste caso, notamos imedatamente que temos a noo do que
5, 6 signica, no entanto no temos a sensibilidade do que signica esta medida
em ps. Para isso, temos que procurar uma conversor de sistema de unidades para
converter ps em metros. O mesmo acontece com peso, dado em libras, ou outras
medidas como a temperatura que fomos acostumados com graus centigrados e
no em Farenheit. Porm, em qualquer um dos casos, temos a noo clara do
valor numrico atribuido quantidade.
Deixando o sistema de unidades parte, o valor numrico conhecido j
que estamos igualmente empregando o sistema de numerao decimal, ou seja
a base escolhida 10, com os algarsmos sendo representados pelos simbolos

14

clculo numrico

0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Observe que a escolha dos simbolos para representar os


elementos que compem a base do sistema decimal so arbitrrios, podendo ser
completamente diferentes. Assumindo que os elementos da base so estes, os
nmeros em decimal so construdos a partir dos elementos da base.
Os sistemas de numerao esto divididos em sistemas posicionais e no
posicionais . Nos sistemas posicionais, a posio ocupada pelos algarismos que
formam o nmero importante e tem um signicado especco. Por exemplo, no
sistema decimal, o nmero 127, 5 informa-nos que o algarismo 7 corresponde
quantidade de unidades; o algarismo 2 informa o nmero de dezenas; o algarismo
1, a quantidade de centenas; e o algarismo 5, a parte fracionria referente aos
dcimos. Assim, a posio de cada algarismo na constituio do nmero possui
um signicado prprio.
Nos sistemas no posicionais, a posio ocupada pelos algarismos no tem um
signicado prprio. Um exemplo de sistema no posicional o sistema romano de
numerao. Nesse sistema, temos a unidade representada pela letra I , que ocupa
uma posio; o nmero dois representado por II , que ocupa duas posies; o
nmero trs, por III , ocupando trs posies; mas o nmero quatro representado por apenas dois algarismos, da forma IV , com duas posies, e o cinco, por
V , que possui apenas um algarismo que ocupa uma nica posio. Dessa forma,
vemos que a posio no um indicador do valor do nmero, j que todos estes
se refere a unidades.
Neste livro, trataremos apenas dos sistemas de numerao que so posicionais.

1.1.2 Base de numerao


Seja um nmero natural, com 2. Um nmero real r pode ser representado em qualquer base de numerao , escrito da forma:

r = (dn dn1 . . . d2 d1 d0 , d1 d2 . . . dm ) ,

(1.1)

onde os di so dgitos inteiros que pertencem base , ou seja, so valores entre


0 e 1.
O valor nmerico em decimal do nmero real escrito em (1.1) dado por

dn n + dn1 n1 + + d1 1 + d0 0
+d1 1 + d2 2 + + dm m .

(1.2)

1.1.3 Sistema decimal


O sistema de numerao decimal um sistema posicional adotado internacionalmente para expressar medidas do cotidiano. No devemos confundir o sistema

15

erros computacionais

de numerao com o sistema mtrico. O sistema de numerao informa-nos sobre


o valor da quantidade, sua magnitude, enquanto o sistema mtrico informa-nos
sobre a unidade de referncia da medida.
O sistema decimal formado pelos nmeros inteiros da base = {0, 1, 2, 3, 4, 5,
6, 7, 8, 9}. A partir dessa base, que denotaremos 10 , todos os nmeros podem ser
expressos neste sistema.

Denio 1.1 Um nmero no sistema decimal formado a partir da expresso


an 10n + + a2 102 + a1 101 + a0 100 + a1 101 + a2 102 + + am 10m ,

onde n, m so nmeros inteiros e os ai so elementos da base decimal.

Exemplo 1.1 O nmero 127, 5 escrito como:


1 102 + 2 101 + 7 100 + 5 101 .
A aritmtica dos nmeros no sistema decimal conhecida e no vamos tratla aqui. As operaes so a adio e subtrao (+, ) e a multiplicao e diviso
(, ).

1.1.4 Sistema binrio


O sistema de numerao posicional cuja base composta pelos dois algarismos,
2 = {0, 1}, chamado de sistema binrio de numerao. Nesse sistema, qualquer
nmero pode ser expresso por uma combinao de zeros e uns, de tal forma que
seu valor numrico em decimal obtido por meio da expresso dada na denio
a seguir:

Denio 1.2 O valor numrico em decimal de um nmero expresso no sistema


binrio obtido tomando-se

an 2n + + a2 22 + a1 21 + a0 20 + a1 21 + a2 22 + + am 2m ,

onde n, m so nmeros inteiros e os ai so elementos da base binria.


fcil vermos que os nmeros binrios {0, 1, 10, 11, 100, 101, 110} correspondem, respectivamente, em decimal aos nmeros {0, 1, 2, 3, 4, 5, 6}. O nmero binrio 1101, 01 corresponde ao valor em decimal dado por:

1 23 + 1 22 + 0 21 + 1 20 + 0 21 + 1 22 ,
que equivale a 13, 25.

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.com
, c=BR
Dados: 2013.08.09 12:30:00
-03'00'

16

clculo numrico

Exerccio 1.1 Quais os valores, em decimal, dos nmeros binrios

101010?

11011 e

A representao dos nmeros por meio do sistema binrio tornou-se muito


importante com o advento da computao. A razo para isso bastante simples.
Nesse sistema, todos os nmeros podem ser representados por combinaes de
apenas dois algarismos. Por outro lado, muitos conceitos da Fsica podem ser
representados de forma binria, como, por exemplo, a carga eltrica, positiva ou
negativa; a polarizao de um meio magntico, que pode estar ou no polarizado
etc.
Outra vantagem de se representarem os nmeros em binrio que as operaes
de adio e multiplicao requerem poucas regras para manipulao. As tabelas
de adio e multiplicao so extremamente simples.

0 + 0 = 0,
0 + 1 = 1,
1 + 0 = 1,
1 + 1 = 10,

0 0 = 0,
0 1 = 0,
1 0 = 0,
1 1 = 1.

Converso de decimal para binrio


A relao da denio 1.2 d-nos um mecanismo para obtermos o valor decimal
de um nmero binrio. No entanto, precisamos tambm conhecer como obter o
correspondente nmero em binrio a partir do nmero em decimal.
O processo de passagem do nmero em decimal para binrio feito em duas
etapas:
1. Parte inteira;
2. Parte fracionria.

Parte inteira
O mtodo das divises sucessivas utilizado para obteno do correspondente
valor em binrio, partindo-se da parte inteira de um nmero escrito em decimal.
Considerando a parte inteira de um nmero N em decimal, dividimos este nmero
por dois; em seguida, o resultado da diviso novamente dividido por dois, seguindo esse procedimento sucessivas vezes at que o quociente 1 seja encontrado.
O nmero expresso em binrio obtido tomando-se a concatenao do ltimo
quociente com os restos das divises, lendo-se no sentido inverso ao que foram
obtidos. Esse procedimento ilustrado na Figura 1.2.

17

erros computacionais

Figura 1.2: Converso da parte inteira: decimal para binrio.


O nmero N=10 em binrio construdo da forma:

N=2 = 1rn rn1 r3 r2 r1 .

(1.3)

Exemplo 1.2 O nmero 18 representado na base binria da forma:


18 2
0 9 2
1 4 2
0 2 2
0 1

Portanto, seguindo o procedimento de concatenao, obtemos


18=10 = 10010=2 .

Exerccio 1.2 Encontre a representao binria para os


inteiros em decimal.

20 primeiros nmeros

Parte fracionria
A parte fracionria de um nmero em decimal obtida em binrio por meio
da aplicao do mtodo das multiplicaes sucessivas. Nesse caso, devemos considerar a parte fracionria do nmero; ento:
1. multiplicamos o nmero fracionrio por dois;
2. do resultado, a parte inteira ser considerada o primeiro dgito da representao do nmero em binrio. A parte fracionria novamente multiplicada
por dois;

18

clculo numrico

3. o procedimento continua sucessivamente at obtermos que a parte fracionria do ltimo produto seja igual a zero;
4. em algumas ocasies, os termos da multiplicao passam a repetir-se, ocorrendo um ciclo. Nesses casos, a representao peridica.
Vejamos os seguintes exemplos de aplicao para a parte fracionria.

Exemplo 1.3 Considere a parte fracionria de um nmero em decimal dada por


0, 1875. A aplicao no mtodo das divises sucessivas vista a seguir:
0, 1875 2
0, 3750 2
0, 7500 2
0, 5000 2

=
=
=
=

0, 3750,
0, 7500,
1, 5000,
1, 0000.

Assim, a representao do nmero em binrio dada por:


0, 1875=10 = 0, 0011=2 .

Vejamos agora o seguinte caso. O nmero fracionrio em decimal dado por


0, 6. Aplicando o mtodo, temos:
0, 6 2
0, 2 2
0, 4 2
0, 8 2
0, 6 2

..
.

=
=
=
=
=

1, 2,
0, 4,
0, 8,
1, 6,
1, 2,

Vemos que o processo possui um ciclo. A representao em binrio dada por:


0, 6=10 = 0, 10011001 . . .=2 ,

que peridica binria.

Exerccio 1.3 Determine a representao binria para o nmero 13, 25=10 . Su-

gesto: considere as partes inteira e fracionrias separadamente e, no nal, a representao ser dada pela parte inteira, em binrio,seguida da parte fracionria
em binrio, separadas por uma vrgula.

19

erros computacionais

Embora o sistema binrio tenha uma srie de vantagens para utilizao em


sistemas digitais, tambm apresenta algumas desvantagens. Uma desvantagem
de representarmos os nmeros decimais em binrio que a representao binria
requer um nmero maior de bites para representao. Em outras palavras, requer
mais espao fsico para armazenar o mesmo nmero.
Suponha que temos o nmero em binrio

1 000 000 000 000=2 212 = 4096=10 .


Vemos que so necessrios cerca de 13 dgitos binrios para representarmos o
nmero equivalente em decimal, o qual escrito com apenas quatro dgitos.
Em geral, podemos estabelecer a relao entre o nmero de dgitos, pois

2N = 10N log10 2 = 100,3N ,


onde N corresponde ao nmero de dgitos na representao binria. Logo, um
nmero em binrio requer aproximadamente 0, 3N dgitos em decimais, que se
reete na maior necessidade de memria fsica dos computadores.

Algoritmo de converso binrio-decimal


Seja N = (an an1 . . . a1 a0 )=2 um inteiro binrio. Para determinarmos N na
forma decimal, tomamos o seguinte procedimento:

bn =
bn1 =
bn2 =
..
. =

an
an1 + 2bn
an2 + 2bn1
..
.

b1 = a1 + 2b2
b0 = a0 + 2b1 ,
onde b0 corresponde ao nmero N na forma decimal.

Exemplo 1.4 Seja o nmero 1101=2 . Identicando os termos, temos:


a0 = 1, a1 = 0, a2 = 1, a3 = 1.

Agora,
b3
b2
b1
b0

=
=
=
=

a3 = 1
a2 + 2b3 = 1 + 2 1 = 3
a1 + 2b2 = 0 + 2 3 = 6
a0 + 2b1 = 1 + 2 6 = 13.

Logo, temos a correspondncia 1101=2 = 13=10 .

20

clculo numrico

Algoritmo de converso decimal-binrio


Seja N um nmero inteiro positivo em decimal. Para determinarmos sua
representao binria (an an1 . . . a1 a0 )=2 , tomamos o seguinte procedimento:

b0 = N,
b0 a0
b1 =
,
2
b1 a1
b2 =
,
2
..
..
.
.
bk1 ak1
,
bk =
2
onde ak = 1, se bk um nmero mpar; ou ak = 0, se bk um nmero par. O
procedimento termina quando obtemos bk = 0. O valor em binrio obtido pela
concatenao retroativa dos valores obtidos para os ak .

Exemplo 1.5 Seja o nmero 187=10 . Aplicando o algoritmo, temos:


k
0
1 2 3 4 5 6 7
bk 187 93 46 23 11 5 2 1
ak 1
1 0 1 1 1 0 1

Ento: 187=10 = 10111011=2 .

1.1.5 Outros sistemas de numerao


Outros sistemas de numerao que tm sido empregados em computao so
os sistemas octal e o hexadecimal.

Sistema octal
O sistema de numeraco octal possui a base formada pelos oito dgitos inteiros
8 = {0, 1, 2, 3, 4, 5, 6, 7}.
A converso do sistema octal para o sistema decimal ocorre de forma semelhante apresentada para os binrios. Portanto, um nmero em octal convertido
para decimal usando a relao:

an 8n + + a2 82 + a1 81 + a0 80 + a1 81 + a2 82 + + am 8m ,
onde os ai so dgitos pertencentes base octal.

21

erros computacionais

Exemplo 1.6 Seja o nmero em octal 7634, 152=8 . O valor correspondente em


decimal

7 83 + 6 82 + 3 81 + 4 80 + 1 81 + 5 82 + 2 83
3996, 207031=10 .
Observe que 8 = 23 ; portanto, cada algarismo da base octal requer trs algarismos da base binria para a converso octal-binrio. A tabela de converso da
base octal-binrio dada por:

Octal
0
1
2
3
4
5
6
7
Binario 000 001 010 011 100 101 110 111
Utilizando essa relao de grupo para converso dos algarismos na base octal
pelos correspondentes na base binria, a converso torna-se bastante simples.
O octal 7634, 152=8 111 110 011 100, 001 101 010=2 , pois, lembrando que os
sistemas so posicionais, podemos substituir para cada posio do algarismo octal
seu correspondente agrupamento em binrio. Assim, no caso do algarismo 7,
temos:
7 7 83 7 29 (1 22 + 1 21 + 1 20 ) 29
1 211 + 1 210 + 1 29 111
A converso de binrio para octal ocorre de maneira inversa. Basta considerarmos agrupamentos de trs dgitos binrios, a partir da vrgula, e substituir
pelo correspondente algarismo da base octal.

Exemplo 1.7 Converso do binrio 11011, 10111 para octal. Formando os grupos, temos:

Assim, 11011, 10111=2

011 |{z}
011 , |{z}
101 |{z}
110
|{z}
3
3 , 5
6
= 33, 56=8 .

Sistema hexadecimal
O sistema hexadecimal formado por uma base que contm 16 elementos, os
quais so:
16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }.
A converso entre hexadecimal e decimal imediata, usando

an 16n + + a2 162 + a1 161 + a0 160 + a1 161 + a2 162 + + am 16m ,


onde n, m so nmeros inteiros e os ai so elementos da base hexadecimal.

22

clculo numrico

Exemplo 1.8 Converta o nmero 6AC, E9=16 para decimal. Tomando a relao
de converso, obtemos:
6 162 + 10 161 + 12 160 + 14 161 + 9 162 1708, 910156
A converso de hexadecimal para binrio segue o mesmo raciocnio usado entre
octal e binrio. Observe que 16 = 24 ; assim, cada algarismo em hexadecimal
corresponde a um agrupamento de 4 algarismos binrios.

Exerccio 1.4 Construa a tabela de converso dos algarismos da base hexade-

cimal para binrio. Em seguida, converta o nmero 76EA, 0D=16 para binrio.
Qual
o
valor
em
hexadecimal
do
nmero
101111.0110111=2 ?

1.2 Sistema de ponto utuante


Nos computadores, o processamento da informao realizado em quantidades
xas, tendo como base uma unidade-padro. Essa unidade recebe o nome de palavra, e o nmero de dgitos que compe uma palavra chamado de comprimento
da palavra do computador. Atualmente, os computadores utilizam diferentes
arquiteturas, que empregam palavras de comprimentos distintos. Os microcomputadores utilizam uma palavra de comprimento 16 bites (dgitos binrios), as
estaes de trabalho usam uma palavra de 32 bites e os supercomputadores usam
palavras de comprimento 64 bites, para a representao dos nmeros reais.
Em um computador, apenas uma quantidade nita de nmeros pode ser representada. Os nmeros inteiros podem ser representados de forma exata, desde
que o comprimento da palavra seja suciente para o armazenamento de todos os
seus dgitos.
Por outro lado, os nmeros reais no so completamente representados no
computador. Dessa forma, erros surgem, em virtude da converso numrica de
um sistema de numerao para outro, em particular, de decimal para binrio,
como j vimos, ou mesmo devido a arredondamentos, em virtude do comprimento
nito da palavra do computador.
As primeiras arquiteturas de computador empregavam uma representao dos
nmeros chamada de representao de ponto xo, em que, para cada operao, o
usurio tinha que especicar quantos dgitos deveriam ser usados em uma palavra,
para representar as partes inteiras e fracionrias de um nmero real. Um dos
problemas dessa arquitetura a representao simultnea de nmeros grandes e
pequenos nesse sistema.

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:30:43 -03'00'

23

erros computacionais

Por exemplo, se tivermos um computador cujo comprimento da palavra sete

bites, e usarmos quatro dgitos para a parte inteira e trs para a parte fracion-

ria, o maior nmero representado por esse computador no sistema decimal ser
9999, 999, e o menor, 0000, 001, respectivamente.
Para possibilitar maior representatividade dos nmeros, esse problema foi melhorado por meio da representao em ponto utuante.

1.2.1 Representao em ponto utuante


A representao dos nmeros em ponto utuante permite expressarmos um
nmero real r na base em uma forma cannica, como:

r = 0, d1 d2 . . . dt e
(
)
d1
d2
dt
=
+
+ + t e,
1 2

(1.4)

onde a base do sistema de numerao adotado, e o expoente da base, tal


que I e S, e Z , com I o limite inferior e S o limite superior para a variao
do expoente.

Denio 1.3 Os dgitos d1 d2 . . . dt formam a mantissa do nmero e represen-

tam seus dgitos signicativos.

Cada elemento di da mantissa um smbolo da base do sistema de numerao. Chamando de q = 0.d1 . . . dt a mantissa de um nmero, fcil vericarmos
que o valor da mantissa q limitado.

Denio 1.4 Um nmero r na representao de ponto utuante dito normalizado quando o dgito d1 de sua mantissa tal que d1 = 0.

Denio 1.5 O nmero t de dgitos signicativos do sistema de ponto utuante


corresponde preciso da mquina.

Exemplo 1.9 Seja a base decimal = 10. O nmero r = 25, 87 representado

em ponto utuante normalizado como:


(

0, 2587 =

5
8
9
2
+ 2+ 3+ 4
10 10
10
10

)
102 .

O nmero 5=10 representado em binrio na representao de ponto utuante


com
)
(
101=2 = 0, 101 23 =

0
1
1
+ 2+ 3
2 2
2

23 .

24

clculo numrico

Tabela 1.1: Exemplos de sistemas de ponto utuante.

F (, t, I, S)
Padro IEEE
IBM 3090
CRAY X-MP

2 23
16 5
2 47

126
127
65
62
16385 8190

Denio 1.6 O nmero zero em ponto utuante representado por


0 = 0, 000 . . . 0t I .
A unio de todos os nmeros em ponto utuante, incluindo o zero, denominada de sistema de ponto utuante da mquina e denotado por F (, t, I, S).
Na Tabela 1.1, so apresentados os sistemas de ponto utuante para algumas
mquinas.
Em muitas linguagens de programao, como Fortran, possvel operar
com uma representao de ponto utuante com preciso dupla. Nesse caso, o
sistema implementado de tal forma que a mquina passa a utilizar duas palavras
para armazenar um nmero, permitindo maior preciso e um intervalo maior de
representatividade dos nmeros. De forma geral, as mquinas possuem preciso
simples implementada em hardware, enquanto a preciso dupla implementada
via software.
Atualmente, h vrios sistemas computacionais disponveis, tanto para clculo numrico especicamente quanto para clculo simblico e algbrico, alm
de possuirem facilidades grcas. Dentre os sistemas para clculo numrico o
R um excelente sistema comercial, porm o SCILAB um sistema

MATLAB
aberto alternativo de excelente qualidade (http://www.scilab.org/). Os sistemas
de computao algbrica (SCA), so capazes de realizar clculos simbolicamente
e com preciso arbitrria, porm na prtica a preciso torna-se nita devido s
limitaes impostas pelo prprio hardware da mquina. Exemplos de tais SCA
R e MATHEMATICA
R ; enquanto o MAXIMA livre
comerciais so MAPLE
e pode facilmente ser baixado da internet (http://maxima.sourceforge.net/).

1.2.2 Representao compacta de um nmero


Vamos supor que temos um sistema de ponto utuante dado por F (2, 10, 15,
15). O nmero inteiro 19 escrito nesse sistema como:

19=10 = 10011=2 = 0, 10011 25 = 0, 10011 2101


)
(
0
0
1
1
0
0
0
0
0
1
+
+
+
+
+
+
+
+
+
2101 .
=
2 22 23 24 25 26 27 28 29 210

25

erros computacionais

Observando as expresses anteriores, uma representao compacta pode ser


escrita para o nmero 19. Vemos que podemos tomar a seguinte notao

1 0 0 1 1 0 0 0 0 0

0 1 0 1

Os 10 primeiros algarismos correspondem mantissa do nmero e os quatro


ltimos, aps as duas barras, correspondem aos bites necessrios para a representao binria dos nmeros do expoente, que esto no intervalo I e S.
Vemos que essa notao suciente para expressar um nmero positivo cujo
expoente tambm positivo. Para podermos representar, por intermdio dessa
mesma notao, qualquer nmero nesse sistema de ponto utuante, devemos
incluir ainda duas caixas, ou dois bites, para incluirmos os sinais do nmero e
do expoente. Dessa forma, teremos:

0 1 0 0 1 1 0 0 0 0 0

0 1 0 1

Na notao estendida, temos o primeiro bite para representar o sinal do nmero; se positivo, o dgito 0; se negativo, o dgito 1. Na posio 12 da notao,
acrescentado um bite para representar o sinal do expoente. Assim, temos aqui
um sistema formado por uma palavra de 16 bites.
Supondo ainda o mesmo sistema de ponto utuante e considerando apenas a
notao compacta, podemos perguntar quais seriam o menor e o maior valores
numricos, em termos absolutos, representveis nesse sistema.
As respostas podem ser facilmente encontradas, observando que o maior valor
numrico dado por:

0 1 1 1 1 1 1 1 1 1 1

1 1 1 1

De outra forma, esse nmero corresponde a

0, 1111111111 2

1111

10

1
=
215 = 32736=10 .
k
2
k=1

Como o menor nmero negativo obtido nesse caso tomando-se o simtrico,


j que o valor mnimo do expoente I = 15, temos, ento, 32736=10 .
Por outro lado, o menor nmero representvel em valor absoluto dado por:

0 1 0 0 0 0 0 0 0 0 0

1 1 1 1

Logo, o primeiro nmero positivo nesse sistema corresponde a

0, 1 21111 =

1
215 = 0, 0000152587=10 .
2

26

clculo numrico

O primeiro nmero negativo representvel no sistema

0, 0000152587=10 .
Por meio desses exemplos, vemos que os nmeros so representados de forma
discreta em um sistema de ponto utuante. Observamos ainda que, para o sistema
em questo, F (2, 10, 15, 15), o intervalo onde esto representados os nmeros,
incluindo o zero, [32736, 32736].
As regies compreendidas alm desses valores formam o que se chama de regio
de overow, isto , os intervalos

(, 32736) (32736, +).


As regies compreendidas entre o zero e o primeiro nmero positivo ou negativo so chamadas de regies de underow, ou seja,

(0, 0000152587; 0) (0; 0, 0000152587).


De forma geral, para um sistema de ponto utuante normalizado F (,
t, I, S), o menor nmero em valor absoluto determinado por:

m = 0, 1 I ,

(1.5)

e o maior nmero representvel determinado por:

M = 0, ( 1)( 1) . . . ( 1) S .

(1.6)

possvel mostrar que a quantidade de nmeros que so representveis explicitamente por um sistema de ponto utuante qualquer dado pela relao

N = 2(S I + 1)( 1) t1 + 1.

(1.7)

Para nosso estudo de caso, F (2, 10, 15, 15), temos N = 31745. Com uma calculadora programvel ou um sistema de computao algbrica fcil declararmos
uma funo para a equao (1.7).

Exerccio 1.5 Verique que a distribuio dos nmeros representados pelo sistema de ponto utuante no igualmente espaada.
Exerccio 1.6 Dado o sistema de ponto utuante F(2, 3, 1, 2), determine quantos e quais so os nmeros representados por esse sistema.

27

erros computacionais

1.2.3 Operaes aritmticas com ponto utuante


Nessa seo, daremos uma noo de como as operaes aritmticas so realizadas em um sistema de ponto utuante.
Consideremos dois nmeros escritos em um sistema de ponto utuante
F (, t, I, S),

x = 0, d1 d2 . . . dt e ,
y = 0, l1 l2 . . . lt f .

Adio
A operao de adio entre dois nmeros realizada em uma seqncia de
passos.
1. Os registros dos nmeros so dispostos da forma a seguir, admitindo-se que
x y.

d1 d2

l1 l2

dt 0 0
lt 0 0

0
0

Para determinar o valor de a = x + y , devemos seguir para o passo 2.


2. Calcule o valor g = e f . Se g t, ento teremos que a = x, e a operao
est concluda. Seno, devemos alinhar o registro do nmero y de g posies a
sua direita, isto :

y 0

0 l1 l2 |

lt 0

3. Adicione os contedos de x e y com g = e.

a b0 ... b1 b2

bt bt+1

4. Se tivermos b0 = 0, ento: (i) desloque o registro de a de uma posio


direita;
(ii) calcule o valor g g + 1, e tome o registro

a 0 ... b1 b2

.
bt .. bt+1

28

clculo numrico

5. Se b1 = 0, ento devemos normalizar. (i) desloque esquerda, at que


obtenha b1 = 0. (ii) calcule g = g 1 para cada posio deslocada. Teremos:

a 0 b1 b2

bt bt+1

6. Se g > S , temos overow, e se g < I , temos underow.


7. Para arredondamento, cancele os valores de registro de a que esto alm
da preciso t da mquina. O resultado da operao dado por:

a = x + y = 0, b1 b2 bt g .

Exemplo 1.10 Sejam x = 0, 1547 105 e y = 0, 2748 101 dois nmeros em

decimal com preciso t = 4. Vemos que g = e f = 5 (1) = 6. Ento,


a = x + y = x = 0, 1547 105 . Na notao de registros, vemos que:
x

1 5 4 7 0

2 7 4 8 0

y 0 0 0 0 0 0 2 7 4 8
a = x + y = x.

Exemplo 1.11 Sejam x = 0, 9876 101 e y = 0, 8732 101 . Assim, a = x + y =


1, 8608 101 = 0, 18608 102 = 0, 1860 102 .

Exemplo 1.12 Sejam

x = 0, 1012 101 e y = 0, 9876 101 . Temos que


a = x + y = 0, 1012 101 0, 009876 101 = 0, 091324 101 = 0, 91324 100 =
0, 9132 100 .

Multiplicao
Sejam dois nmeros x e y em ponto utuante e seja p = x y seu produto. A
operao de multiplicao realiza-se por meio dos passos:
1. Dispor os nmeros em seus registros

d1 d2

l1 l2

dt 0 0
lt 0 0

0
0

29

erros computacionais

2. Calcule p = x y com expoente g = e + f .

p b1 b2

bt bt+1

3. Se b1 = 0, ento normalize, fazendo g g 1.

p b1 b2

bt bt+1

4. Se g > S , temos overow ; se g < I , temos underow.


5. Cancele os valores de registro de p que esto alm da preciso t.

p b1 b2

bt 0

Logo, o produto dado por

p = 0, b1 b2 bt g .

Exemplo 1.13 Sejam os nmeros

x = 0, 1432 101 e y = 0, 4330 102 . O


produto dado por p = x y = 0, 0620056 103 = 0, 620056 102 = 0, 6200 102 .

Diviso
A operao de diviso de dois nmeros em ponto utuante realiza-se por meio
das seguintes etapas. Dados x e y , obtenha o valor q = xy .
1. O primeiro passo carregar os nmeros em seus registros

d1 d2

l1 l2

dt 0 0
lt 0 0

0
0

Se tivermos y = 0, ento m. Seno,


2. Calcule o valor g = e f e verique o registro,

q b0 b1 b2

bt bt+1

3. Se tivermos b0 = 0, ento devemos ajustar q levando em considerao que


g g + 1.

30

clculo numrico

q 0 ... b1 b2

bt bt+1

4. Se b1 = 0, ento normalize, tomando g g 1.

q 0 ... b1 b2

bt bt+1

5. Se g > S , temos overow, e se g < I , temos underow.


6. Cancele os valores de q alm da preciso t da mquina. Assim, a diviso
dada por:

q=

x
= 0, b1 b2 bt g .
y

Exemplo 1.14 Sejam os nmeros x = 0, 5649 101 e y = 0, 1357 102 . Ento,


a diviso dada por:
q=

x
= 4, 162859 101 = 0, 4162859 100 = 0, 4162 100 .
y

1.2.4 Distributividade e associatividade


Em sistemas de ponto utuante, as propriedades de Adio, Subtrao, Multiplicao e Diviso no obedecem necessariamente s mesmas regras da aritmtica

sobre o conjunto dos nmeros reais . Para ilustrarmos, vejamos o Exemplo 1.15.

Exemplo 1.15 Tomemos x1 = 0, 3491104 e x2 = 0, 2345100 . Seja a preciso


da mquina dada por t = 4. Assim,

a1 = (x2 + x1 ) x1
= (0, 2345 100 + 0, 3491 104 ) 0, 3491 104
= 0, 0000

Agora, tomando-se
a2 = x2 + (x1 x1 )
= 0, 2345 100 + (0, 3491 104 0, 3491 104 )
= 0, 2345 100

Vemos, portanto, que a1 = a2 , o que um absurdo!

31

erros computacionais

1.2.5 Preciso e exatido de mquina


Os conceitos de preciso e exatido so distintos um do outro. A preciso
de uma mquina informa sobre o nmero de dgitos signicativos da mquina,
sendo este xo para uma mquina. A exatido, ao contrrio, dene a perfeio
do resultado, que depende de diversos fatores, entre eles a preciso, a base do
sistema de numerao, o compilador etc.
Vimos que todas as mquinas operam com um sistema de ponto utuante
F (, t, I, S), onde t a preciso da mquina para a base . comum desejarmos
conhecer qual a preciso de uma mquina com relao ao sistema decimal. Se
chamarmos de preciso p o valor da preciso em decimal, temos a seguinte relao,

t = 10p p =

t ln
.
ln 10

(1.8)

Denio 1.7 A exatido de uma mquina medida por , que o menor nmero em ponto utuante, tal que temos

1 + > 1.

Este valor conhecido como de mquina.

Exerccio 1.7 Escreva um programa simples para determinar o

de mquina.
Note que, nos sistemas de computao algbrica possvel denir vrias precises
t.

Exerccio 1.8 Considerando os sistemas de ponto utuante padro IEEE

F(2,

23, 126, 127), IBM 3090 F(16, 5, 65, 62) e do supercomputador CRAY XM-P
F(2, 47, 16385, 8190), determine a preciso destes em decimal.

1.3 Tipos de erros


Como vimos anteriormente, nas vrias etapas da cadeia da pesquisa cientca, erros de diversos tipos podem ocorrer. Em geral, os tipos de erros esto
classicados como:

Erros nos dados de entrada;


Erros gerados pelo modelo;
Erros por truncamento;
Erros por arredondamento.

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:33:13 -03'00'

32

clculo numrico

1.3.1 Erros de dados


A coleta de dados decorrentes de medidas das observaes e experimentos, na
maioria das vezes, traz consigo erros que so inerentes aos prprios instrumentos
de medida. Dependendo do tipo de aparelho utilizado para a coleta de dados,
obtemos um melhor ou um pior conjunto de valores observveis.
Neste livro, no vamos tratar especicamente de erros dessa natureza, por no
fazerem parte de nosso objetivo de estudo.

1.3.2 Erros do modelo


A fase de modelagem extremamente importante para a correta descrio
de um fenmeno fsico. J vimos, anteriormente, como um modelo pobre pode
levar a erros e, por conseguinte, a resultados que estejam longe do observvel.
Muitos modelos so descartados tendo em vista que os seus resultados no so
consistentes com a observao do fenmeno.
Como estamos mais interessados na etapa de resoluo dos problemas, no
vamos discutir aqui os erros devido modelagem do problema fsico, embora
a etapa de modelagem seja uma das mais importantes para a soluo de um
problema fsico.

1.3.3 Erros por truncamento


Em muitas ocasies, no tratamento de um problema, preciso fazermos a
substituio de uma expresso ou frmula innita por uma nita. Nesse caso,
a diferena entre a soluo encontrada pela substituio da soluo exata pela
frmula nita gera um erro que se chama erro de truncamento.
Um exemplo tpico a aproximao de uma funo por sua srie de Taylor.
Seja f (x) uma funo denida em um certo intervalo, ento sua expanso em
srie de Taylor, na vizinhana de um ponto x = x0 , dada por:

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

(x x0 )2
f (x0 )
2!

(x x0 )3
f (x0 ) +
(1.9)
3!
Exemplo 1.16 Seja a funo f(x) = sen x. A expanso da funo em torno do
ponto x = 0, at ordem 5, dada por
+

p5 (x) = x x3 /3 + x5 /120.

Se considerarmos a aproximao sen x p5 (x), temos que o erro de truncamento dado por: ET =| sen x p5 (x) |. Tomando o valor de x = /4 na
expresso do erro de truncamento, temos

33

erros computacionais

ET (/4) = sen (/4) p5 (/4) 3, 626459 105 .


Em geral, deseja-se saber o erro dentro de certa tolerncia,

ET = |sen x p(x)| ,

(1.10)

onde a tolerncia desejada. Em geral, a tolerncia estabelecida de acordo


com a acurcia desejada para a soluo do problema em estudo.

Exerccio 1.9 Determine a expanso em srie de Taylor, at ordem 5, para as


funes a seguir. Em todos os casos, verique o erro de truncamento, considerando alguns valores de x para as funes.
f (x) = ex , em torno de x = 0,
g(x) = cos x, em torno de x = 0,
h(x) = ln x, em torno de x = 1.

1.3.4 Erros por arredondamento


Vimos que a converso de um nmero, escrito em um sistema de numerao,
para outro sistema de numerao pode causar erros, uma vez que considerando
um sistema de ponto utuante, no podemos representar o nmero com preciso
innita. Em um sistema de ponto utuante, os nmeros so representados de
forma discreta e com uma preciso limitada,1 o que causa erros devido a arredondamentos, como veremos a seguir.
Para melhor ilustrar a noo de erro por arredondamento, vejamos o seguinte
caso. Suponha que temos a soma das fraes

1 1 1
+ +
(1.11)
3 3 3
A soluo exata dessa operao 1. Suponha, agora, que estejamos trabalhando com uma mquina cuja preciso t = 4. Considere a soma usando a
aproximao decimal para cada termo da equao (1.11), ou seja:
0, 3333 + 0, 3333 + 0, 3333 = 0, 9999

(1.12)

Vemos, ento, que o resultado da soma em (1.12) diferente do resultado da


soma em (1.11). Em ponto utuante teramos o erro,
1 Nos sistemas de computao algbrica,

a preciso pode ser denida pelo usurio, tendo como


limite apenas a capacidade de hardware da mquina. Por isso, esses sistemas so conhecidos
como sistemas com preciso arbitrria.

34

clculo numrico

E = 0, 1 10 0, 09999 10 = 0, 00001 10 = 105 .


Por outro lado, como a preciso do sistema t = 4, se cancelarmos o 1 que
est alm da preciso, o resultado E = 0, 0000 10 = 0, j que no podemos
representar mais que 4 casas decimais. Neste caso, a diferena entre o valor
exato e o valor representando em ponto utuante nula, muito embora tenhamos
desprezado uma contribuio da ordem de 105 .
Considere agora

2 2 2
+ + = 2,
3 3 3
Em uma mquina com preciso t = 4, temos:
0, 6666 + 0, 6666 + 0, 6666 = 0, 19998 10

(1.13)

(1.14)

Como o sistema no pode representar alm de 4 dgitos signicativos, o resultado


de (1.14), cancelando o 8, 0, 1999 10. Neste caso, vemos que a diferena entre
o valor exato e o valor em ponto utuante no nulo, pois E = 0, 2 10
0, 1999 10 = 0, 0001 10 = 0, 1 102 .
Os arredondamentos podem ser de dois tipos:
1. Arredondamento do tipo Corte, tambm chamado de cancelamento. Nesse
caso, os dgitos alm da preciso t do sistema de ponto utuante so automaticamente abandonados (desprezados);
2. Arredondamento para o nmero mais prximo de mquina. Suponha que
a preciso de uma mquina t. Ento, analisamos o algarismo de ordem
t + 1:
i) Se esse algarismo for maior ou igual a 5, somaremos uma unidade ao
algarismo de ordem t; ou seja, dt dt = dt + 1,
ii) Se o algarismo de ordem t + 1 for menor que 5, ento o algarismo de
ordem t permanecer inalterado, ou seja, dt dt .
Suponha, agora, que consideremos um arredondamento para nmero mais
prximo de mquina no caso da soma dada em (1.14). Temos a soma (1.14) dada
por 0, 210, e como consequncia, no teramos erro causado por arredondamento
neste caso.

Exemplo 1.17 Se

x = 13 = 0, 3333333, ento x = 0, 3333 100 para uma mquina com preciso t = 4, com arredondamento do tipo corte.
Se x = 0, 666666.... Ento, com t = 5, temos que x = 0, 66667 100 , com

arredondamento do tipo para nmero mais prximo de mquina.

35

erros computacionais

Se x = 0, 0004235437, com t = 4, temos ento que x = 0, 4235 103 ,


cujo valor do ltimo algarismo permaneceu inalterado.
De uma forma geral, se x um nmero real, este pode ser escrito, em uma
base , da forma

x = q e = 0, d1 . . . , dt e , com 0 di < , i = 1, . . . , t.

(1.15)

Se x = q e , onde q o valor de q arredondado para o dgito t + 1, temos


que:

1
|q q| t ,
2
e o limite do erro entre os valores dado por:

(1.16)

1
|x x| et .
2

(1.17)

1.3.5 Erros absoluto e relativo


Sejam os valores x exato e x aproximado para uma grandeza.

Denio 1.8 Denimos o erro absoluto de uma grande x como:


EA = |x x|.

(1.18)

O erro relativo denido como:

Denio 1.9 O erro relativo de uma grandeza x dado por:


ER =

EA
|x x|
=
.
|x|
|x|

(1.19)

Das expresses (1.17) e (1.19) podemos determinar o limite do erro relativo,


pois temos que:

ER =

1 et

|x x|
t
2 e =
.
|x|
|q|
2|q|

(1.20)

Aplicando a condio de normalizao 0, 1 |q| < 1, obtemos

ER =

1
|x x|
1t .
|x|
2

(1.21)

36

clculo numrico

Denio 1.10 Denimos a unidade de arredondamento de um nmero em ponto


utuante como sendo a quantidade
1
= 1t .
2

(1.22)

importante chamar a ateno para o fato de que a unidade de arredondamento um valor independente da magnitude do nmero que est sendo aproximado. A acurcia do resultado de uma grandeza pode ser estimada por seus
erros absoluto e relativo.

Exemplo 1.18 Sejam os valores x = 0, 000008 e x = 0, 000006. Ento, os erros


so dados por:

EA = |x x| = |0, 8 105 0, 6 105 | = 0, 2 105


ER =

EA
0, 2 105
=
= 0, 25
|x|
0, 8 105

O erro absoluto muito baixo, mas o erro relativo de 25%.

Exemplo 1.19 Sejam x = 0, 435795 103 e x = 0, 435210 103 . Ento


ER =

|x x|
5, 85 107
=
= 0, 134237 102 ,
|x|
0, 435795 103
ER < 0, 5 102 = t = 3.

Logo, a aproximao x possui trs dgitos signicativos exatos; a saber, o 4, o


3 e o 5.
Veja agora que, se aplicarmos o logaritmo na base 10 da expresso (1.21), com
= 10, temos:
( )
)
(
1
|x x|
m log10
log10
.
(1.23)
2
|x|
O maior valor de m na expresso (1.23) representa o nmero de algarsmos
signicativos com que o valor x se aproxima do valor x.
De forma mais geral, escrevemos o valor de m como:

37

erros computacionais

(
)]
|x x|
m = 0, 3 + log10 +
,
|x|

(1.24)

onde o termo representa a unidade de arredondamento de mquina.


Quando o arredondamento for para o nmero mais prximo de mquina, temos
que

1
101t .
(1.25)
2
Na prtica, no sabemos o valor exato da grandeza x. Assim, o que fazemos,
ao tomar duas medidas consecutivas de x calcular a grandeza
=

(
)]
|xi+1 xi |
D(xi , xi+1 ) = 0, 3 + log10 +
,
|xi |

(1.26)

que nos d o nmero de dgitos signicativos exatos de xi+1 com relao ao valor
xi .

1.4 Propagao de erros


Vejamos agora como ocorre a propagao de erros causados nas operaes
aritmticas com ponto utuante.

1.4.1 Adio
Sejam x e y os valores aproximados de duas grandezas x e y , respectivamente.
Sejam Ex e Ey os erros em x e y . Temos ento que:

S = x + y,

(1.27)

S = x + y,

(1.28)

Es = S S = (x + y) (x y) = (x x) + (y y).

(1.29)

Logo, temos que:

|Ex+y | |Ex | + |Ey |.

(1.30)

Isto , o valor absoluto da soma dos erros absolutos menor que a soma individual
do valor absoluto dos erros.

38

clculo numrico

Exerccio 1.10 Mostre que, para o erro relativo, a operao de adio resulta

em:

ER (x + y) = max{(ER (x), ER (y)},

(1.31)

para x, y valores com o mesmo sinal.

1.4.2 Subtrao
O procedimento para subtrao similar ao da adio; temos que:

Exy = Ex Ey =
|Exy | |Ex | + |Ey |.

(1.32)
(1.33)

Exerccio 1.11 Mostre que, para o erro relativo, a operao de subtrao resulta
em:

ER (x y) =

ER (x) + ER (y)
,
|x y|

(1.34)

para quaisquer valores de x, y.

1.4.3 Multiplicao
Seguindo a mesma construo anterior, vemos que:

Exy x Ey + y Ex =

(1.35)

|Exy | |x| |Ey | + |y| |Ex |.

(1.36)

Exerccio 1.12 Mostre que, para o erro relativo, a operao de multiplicao


resulta em:

ER (x y) ER (x) + ER (y),

para quaisquer valores de x, y.

39

erros computacionais

1.4.4 Diviso
Finalmente, seguindo o mesmo procedimento, temos para a diviso:

|Ex/y |

|y| |Ex | + |x| |Ey |


|y|2 .

(1.37)

Observamos que, na diviso, se dividirmos um nmero em ponto utuante


por outro nmero muito pequeno, temos a propagao de um erro muito grande,
j que o termo na expresso anterior est dividido pelo quadrado do valor da
grandeza aproximada.

Exerccio 1.13 Mostre que para o erro relativo, a operao de diviso resulta

em:

ER (x/y) ER (x) + ER (y),

para quaisquer valores de x, y, y = 0.

Exemplo 1.20 Sejam

|Ey | 0, 5 10 .
4

Temos que:

x = 3, 2548, com |Ex | 0, 5 104 e y = 0, 0351, com


Ex/y 0, 1335 < 0, 5 100 .

1.4.5 Operao geral


Se denirmos como uma operao genrica qualquer e como uma pseudo-operao, vemos que para:

x = x + Ex ,
y = y + Ey ,
x y x y = (x y x y) + (x y x y).

(1.38)

Assim, observando a equao (1.38), podemos interpretar o primeiro termo do


lado direito da equao como correspondendo a um erro introduzido pelos valores
numricos e o segundo termo como correspondendo a um erro introduzido pela
mquina.

Teorema 1.1 Seja a operao


+, , , . Ento,

qualquer uma das operaes aritmticas

40

clculo numrico



x y x y

,


xy

(1.39)

para x y = 0, ou de forma equivalente,


x y = (x y)(1 + ),

(1.40)

para algum > 0 satisfazendo condio || < , com a unidade de arredondamento.


Uma das conseqncias do Teorema 1.1 que o resultado da comparao entre
dois valores reais, por meio de um teste Booleano de igualdade , em geral, falso,
pois h o erro devido ao da mquina. Portanto, um teste Booleano da forma
x = y deve ser substitudo pelo teste |x y| < .

1.5 Complexidade computacional


Ao longo deste livro apresentaremos vrias tcnicas numricas para resoluo de problemas de diferentes naturezas. Em certas ocasies veremos mais de
uma tcnica, as quais podem ser empregadas para a resoluo do mesmo tipo
de problema. Tais tcnicas so convertidas, no formalismo computacional, em
procedimentos que chamamos de algortmos. Assim, podemos ter vrios algortmos destinados resoluo de um mesmo tipo de problema.
Na Cincia da Computao comum denir-se o custo computacional de um
algoritmo para a resoluo de um problema. Em termos simples, o custo computacional de um algoritmo est relacionado a dois fatores: primeiro ao nmero
de passos necessrios resolver um problema, que se reete em um custo denominado temporal e, segundo, na quantidade de memria utilizada para resolver
um problema, que denominado custo espacial. Formalmente, o custo computacional reete a complexidade do algoritmo. A complexidade de um algoritmo
uma funo do tamanho do problema a ser tratado. Mais adiante, na Seo 2.3,
veremos que a complexidade dos algoritmos para determinar o valor numrico de
um polinmio depende do grau, n, do polinmio, isto , do tamanho do problema
a ser resolvido.
Em geral, no clculo numrico estamos mais interessados na complexidade
temporal, relacionando esta ao nmero de operaes que devem ser executadas
por um algoritmo para resolver um problema. A complexidade temporal pode
ser vista de duas formas: algoritmos que tem um comportamento polinomial
e algoritmos que tem um comportamento exponencial. Quando um algoritmo
apresenta uma complexidade polinomial dizemos que a complexidade do tipo

erros computacionais

41

O(np ), onde n indica o tamanho do problema e p a ordem do polinmio. Quando


a complexidade exponencial, ela pode ser expressa da forma O(en ).

Exemplo 1.21 Na Seo 2.3 mostraremos que o algoritmo direto para determi-

nar o valor numrico de um polinmio de grau n precisa realizar um nmero total


2
de n +3n
operaes, o que corresponde a uma complexidade quadrtica, O(n2 ).
2
Por outro lado, o algoritmo de Horner necessita apenas de um nmero total de
2n operaes, isto , a sua complexidade linear O(n).

1.6 Exerccios propostos


1. Com o desenvolvimento de microcomputadores, tornou-se necessria a padronizao da aritmtica com ponto utuante. Pesquise sobre o padro
IEEE para a aritmtica em ponto utuante.
2. O sistema de ponto utuante do supercomputador CRAY T-94 (CesupUFRGS) dado por: F (2, 51, 1022, 1023). Determine quantos nmeros
so representados nesse sistema e quais as regies de overow e underow
do sistema.
3. Escreva um programa, para determinar o menor nmero positivo n para o
qual a expresso 1 + 2n1 = 1 verdadeira na mquina que est sendo
utilizada.
4. Sejam x1 = 10, 44 e x2 = 2, 15 dois valores aproximados de x e y , respectivamente, at o nmero de dgitos signicativos. Sabendo que Ex =
Ey = 0, 005, determine os limites do erro absoluto e do erro relativo para
as seguintes quantidades:
a) x + x y

b) x y
c) cos (2x y) + sen (2x y)
d)

x
y

y
x

42

clculo numrico

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.com,
c=BR
Dados: 2013.08.09 12:34:24
-03'00'

Captulo 2
RESOLUO DE EQUAES
ALGBRICAS E
TRANSCENDENTAIS

A soluo de muitos problemas de engenharia e cincias requer a resoluo de


diversos tipos de equaes. Dentre estas, h o interesse particular na determinao da soluo de equaes da forma f (x) = 0, onde f (x) uma funo denida
em um certo intervalo.

Denio 2.1 Um nmero x0 dito uma raiz ou zero da funo f , quando temos
f(x0 ) = 0, para a equao f(x) = 0.

Exemplo 2.1 Seja a funo

f(x) = 0.

f(x) = 2x + 1, x0 = 12 uma raiz da equao

O problema que surge como determinar as razes de uma equao da forma


f (x) = 0. Veremos, nesta seo, alguns mtodos para determinao das razes de
equaes algbricas e transcendentais.
As equaes algbricas so classicadas como equaes algbricas polinomiais,
ou que podem ser reduzidas forma polinomial, e as equaes transcendentais,
que so aquelas que no podem ser reduzidas a uma forma polinomial. Tais
equaes envolvem, geralmente, funes do tipo exponencial, logartmica, trigonomtrica etc.
As equaes algbricas de primeiro, segundo e terceiro graus, alm de algumas
de quarto grau e transcendentais, podem ter suas razes determinadas de forma
analtica. No entanto, em geral, para polinmios de grau superior a 4, e para
a maioria das equaes transcendentais, o problema s pode ser resolvido via
mtodos numricos que aproximam a soluo da raiz.
Para encontrarmos numericamente a raiz de uma equao, duas etapas devem
ser seguidas:

44

clculo numrico

Isolamento:

Achar um intervalo [a, b], o menor possvel, tal que este contenha
uma e somente uma raiz da equao f (x) = 0.

Renamento:

Melhorar o valor inicial da raiz aproximada at que o grau de


exatido desejado seja alcanado.

2.1 Isolamento de razes


O seguinte teorema da lgebra ajuda-nos a encontrar um intervalo onde a raiz
se encontra.

Teorema 2.1 Seja f uma funo contnua que assume valores de sinais opostos

nos extremos do intervalo [a, b], isto , temos que f(a)f(b) < 0. Ento, o intervalo
[a, b] conter no mnimo uma raiz da equao f(x) = 0. Haver no mnimo um
nmero x0 (a, b), tal que f(x0 ) = 0.
O Teorema 2.1 pode ser interpretado gracamente, conforme ilustra a Figura
2.1.

Figura 2.1: Isolamento da raz no intervalo [a, b].


O Teorema 2.1 garante a existncia de raizes, no entanto no garante a unicidade. Assim, uma raiz x0 bem denida ser nica no intervalo [a, b] se a derivada
f (x) existir e preservar o sinal em todo o intervalo.
Observe que, se no intervalo [a, b] tivermos f (x) > 0, ento a funo f (x)
crescente no intervalo, e se f (x) < 0 no intervalo, ento a funo f (x)
decrescente, o que restringe a unicidade da raiz no intervalo.

resoluo de equaes algbricas e transcendentais

45

2.2 Equaes algbricas


Seja uma equao algbrica de grau n, n 1, da forma:

P (x) = an xn + an1 xn1 + . . . + a1 x + a0 = 0,

(2.1)

onde os coecientes ai so nmeros reais e an = 0.

Teorema 2.2 (Teorema Fundamental da lgebra) Uma equao algbrica de grau n tem exatamente n razes, reais ou complexas, desde que cada raiz
seja contada levando em considerao sua multiplicidade.

Denio 2.2 Uma raiz x0 da equao P(x) = 0 tem multiplicidade m se:


P(x0 ) = P (x0 ) = P (x0 ) = . . . = Pm1 (x0 ) = 0 e
Pm (x0 ) = 0,

onde Pi (x0 ) =

di P(x)
|x=x0 , i
dxi

= 1, 2, . . . , m.

Exemplo 2.2 Seja a equao polinomial P(x) = x4 5x3 + 6x2 + 4x 8 = 0 e


considere a raiz x0 = 2. Temos que: P(2) = 0.

P (x) = 4x3 15x2 + 12x + 4 P (2) = 0,


P (x) = 12x2 30x + 12 P (2) = 0,
P (x) = 24x 30 P (2) = 18 = 0.

Portanto, a multiplicidade da raiz x0 = 2 m = 3. De fato, fatorando a equao,


podemos ver que P(x) = (x + 1)(x 2)3 .
O problema do exemplo 2.2 pode ser facilmente resolvido com a utilizao de
um sistema de computao algbrica.

Teorema 2.3 Se os coecientes da equao algbrica

P(x) = 0 so todos reais,

ento as razes complexas dessa equao so complexos conjugados em pares. Isto


, se a + b i uma raiz de P(x) = 0, com multiplicidade m, ento o complexo
conjugado a b i tambm uma raiz de P(x) = 0 com multiplicidade m.

Exemplo 2.3 Seja a equao

P(x) = x2 6x + 10 = 0. Temos como razes


z = 3 + i e o conjugado z = 3 i.

Corolrio 2.1 Uma equao algbrica de grau mpar com coecientes reais tem,
no mnimo, uma raiz real.
A armao desse corolrio bastante intuitiva, pois as razes complexas
ocorrem sempre ao pares, e, assim, para uma ordem mpar do polinmio, pelo
menos uma raiz dever ser real.

46

clculo numrico

2.3 Valor numrico de um polinmio


Dado um polinmio P (x), o valor numrico de P (x) para um valor x0 o
valor dado por P (x0 ). Observe que temos:

Pn (x) = a0 + a1 x + + an xn ,
Pn (x0 ) = a0 + a1 x0 + + an xn0 ,
Pn (x0 ) = a0 + a1 x0 + a2 x0 x0 + + an x0 . . . x0 .

(2.2)

Assim, de (2.2) vemos que o clculo do valor numrico P (x0 ) requer o seguinte
nmero de operaes:

Nmero de adies: n;
Nmero de multiplicaes:

n(n+1)
.
2

O nmero total de operaes para obteno de Pn (x0 ) dado pela soma das
operaes de adio e multiplicao. Temos, portanto,

n(n + 1)
n2 + 3n
=
.
(2.3)
2
2
O custo computacional para clculo do valor numrico de um polinmio da
ordem de O(n2 ), onde n da reete o tamanho do problema a ser resolvido.
#Op = n +

Exemplo 2.4 Um polinmio de grau

9 requer um total de 54 operaes para


determinar o valor numrico, pois necessitamos de 9 adies e 45 multiplicaes.

Veremos a seguir dois mtodos que permitem simplicar o nmero de operaes a serem executadas para obtermos o valor numrico de um polinmio.

2.3.1 Mtodo de Briot-Runi


Sejam os polinmios P (x) e Q(x) dados por:

P (x) = a0 + a1 x + + an xn ,
Q(x) = b1 + b2 + + bn xn1 .
Dividindo o polinmio P (x) pelo binmio (x c), temos:

47

resoluo de equaes algbricas e transcendentais

P (x) = (x c)Q(x) + r,

(2.4)

onde Q(x) o polinmio quociente de grau (n 1) e r uma constante, resto da


operao. O resto r o nmero dado pelo valor numrico P (c), pois temos:

P (c) = (c c)Q(c) + r r = P (c).

(2.5)

Se r = 0, ento a constante c uma raiz da equao polinomial P (x) = 0.


O mtodo de Briot-Runi obtido fazendo,

a0 + a1 x + + an xn =
[
]
(x c) bn xn1 + bn1 xn2 + + b2 x + b1 + r.
Realizando a multiplicao do primeiro termo da direita, obtemos:

bn xn + (bn1 cbn )xn1 + + (b1 cb2 )x cb1 .


Igualando os coecientes da mesma potncia, temos:

an =
an1 =
..
.

bn ,
bn1 cbn bn1 = an1 + cbn ,
..
.

a0 = r cb1 r = a0 + cb1 .
As relaes anteriores formam um algoritmo para determinao do valor numrico de um polinmio. Esquematicamente, podemos reescrev-las da forma:

an an1 an2
c
cbn cbn1
bn bn1 bn2

a1
a0
cb2
cb1
b1 r = b0

(2.6)

No mtodo de Briot-Runi, o nmero de operaes necessrias para obtermos


o valor numrico de um polinmio de n adies e n multiplicaes. Assim, o
nmero total de operaes #Op = 2n, portanto, o custo computacional do
algoritmo de Briot-Runi, para a resoluo do valor numrico de um polinmio
da ordem de O(n).

48

clculo numrico

Exemplo 2.5 Seja

P(x) = x3 7x2 + 16x 10. Determine o valor de P(2).

Usando o esquema para o clculo, temos:


2

1 7 16
10
2 10
12
1 5 6 2 = P(2)

(2.7)

Pelo algoritmo, temos:


bn
c bn
bn1
c bn1
bn2

= an , n = 3 b3 = a3 = 1,
2 1 = 2,
= c bn + an1 b2 = 2 + (7) = 5,
2 (5) = 10,
= c bn1 + an2 b1 = 2 (5) + 16 = 6.

Exerccio 2.1 Verique que, se zermos o mesmo clculo para

x = 1(c = 1),

teremos P(1) = 0, e portanto c = 1 uma raiz do polinmio P(x).

2.3.2 Mtodo de Horner


O mtodo de Horner muito intuitivo. Seja um polinmio P (x) dado por:

P (x) = an xn + an1 xn1 + + a1 x + a0 .

(2.8)

Podemos evidenciar um termo x na expresso do polinmio P (x), de tal forma


que camos com:

P (x) = (an xn1 + an1 xn2 + + a2 x + a1 )x + a0 .

(2.9)

Se evidenciarmos x sucessivamente (n 1) vezes, teremos:

P (x) = ((an xn2 + an1 xn3 + + a2 )x + a1 )x + a0


= (( (an x + an1 )x + + a2 )x + a1 )x + a0 .

(2.10)
(2.11)

Vemos da expresso anterior que o valor numrico de um polinmio, determinado pelo mtodo de Horner, necessita de um total de n operaes de adio
e n operaes de multiplicao, totalizando o nmero de operaes #Op = 2n.
Vemos que o custo computacional do algoritmo de Horner , tambm, da ordem
O(n).

resoluo de equaes algbricas e transcendentais

Exemplo 2.6 Seja


Horner, temos:

49

P(x) = 3x4 6x3 2x2 + 5x 8. Utilizando o mtodo de

P(x) =
=
=
=

3x4 6x3 2x2 + 5x 8


(3x3 6x2 2x + 5)x 8
((3x2 6x 2)x + 5)x 8
(((3x 6)x 2)x + 5)x 8.

Assim, o valor de P(3) determinado por:


P(3) = (((3 3 6) 3 2) 3 + 5 3 8 = 70.

2.4 Limites das razes polinomiais


Seja P (x) = 0 uma equao polinomial.

Teorema 2.4 Sejam an , a0 = 0 e k (0 k n 1) o maior dos expoentes entre

os termos com coecientes negativos do polinmio P(x). Ento, para o limite


superior das razes positivas da equao P(x) = 0, podemos tomar o valor:

L=1+

nk

B
,
an

(2.12)

onde B o mximo dos valores absolutos dos coecientes negativos do polinmio


P(x).
Do teorema acima, podemos concluir que, se chamarmos de p a maior raiz
positiva de P (x) = 0, ento p L.

Corolrio 2.2 Se os coecientes do polinmio P(x) forem no negativos, ento

P(x) = 0 no possui razes positivas.

A armao do corolrio bastante simples de ser vericada, pois, se no h


termos com coeciente negativo na equao, no possvel haver compensao
entre termos, e por isso no haver razes positivas. Claramente, poder haver
razes negativas, pois termos com expoentes mpares podem gerar compensaes
no valor do polinmio, de tal forma que poder existir razes negativas.

50

clculo numrico

Exemplo 2.7 Seja

P(x) = x4 5x3 7x2 + 29x + 30 = 0. O polinmio possui


quatro razes i , i = 1, 2, 3, 4. Pelo teorema, temos
k = 3, B = | 7| = 7, L = 1 +

7/1 = 1 + 7 = 8.

43

Logo, as razes positivas possuem um limite i 8.

Denio 2.3 Sejam

1 , 2 , , n as razes de Pn (x) = 0. O polinmio, em

sua forma fatorada, dado por:

Pn (x) = an (x 1 )(x 2 ) (x n ).

(2.13)

Os limites das razes positivas e negativas de um polinmio Pn (x) podem


ser estimados da forma: Seja Pn (x) = 0 em sua forma fatorada an (x 1 )(x
2 ) (x n ) = 0. Se chamarmos a expresso anterior de

Q1 (x) = xn Pn (1/x),

(2.14)

Q1 (x) = an xn (1 x1 )(1 x2 ) (1 xn ) = 0.

(2.15)

teremos:

As razes de Q1 (x) so os valores 1/1 , 1/2 , , 1/n .


Seja 1/p a maior das razes positivas e L1 o limite superior das razes positivas
de Q1 (x) = 0. Ento, temos:

1
1
L 1 p
.
p
L1

(2.16)

Assim, o valor 1/L1 o limite inferior das razes positivas de Pn (x) = 0.


De modo anlogo, fazendo Q2 (x) = Pn (x) = 0, temos:

an (x 1 )(x 2 ) (x n ) = 0,
an (x 1 )(x 2 ) (x n ) = 0,
an (x + 1 )(x + 2 ) (x + n ) = 0.

(2.17)

Logo, as razes de P2 (x) = 0 so 1 , 2 , , n . Assim, se q (q < 0)


a maior das razes positivas e L2 o limite superior das razes positivas de
Q2 (x) = 0, temos:

51

resoluo de equaes algbricas e transcendentais

q L2 q L2 .

(2.18)

Portanto, L2 o limite inferior das razes negativas de Pn (x) = 0.


Considerando agora a construo Q3 (x) = xn Pn (1/x) = 0, obtemos

1
1
1
an xn ( 1 )( 2 ) ( n ) = 0.
x
x
x

(2.19)

As razes desta equao so 1


, 1 , , 1
. Assim, considerando 1
(q < 0)
1 2
n
q
a maior raiz positiva de Q3 (x) e L3 o limite superior das razes de P3 (x) = 0,
temos:

1
1
L 3 q .
q
L3

(2.20)

Logo, o valor 1/L3 o limite superior das razes negativas de Pn (x) = 0.


Podemos nalmente concluir que:

Todas as razes positivas, p , de Pn (x) = 0, se existirem, devero satisfazer


relao:
1
p L;
L1

(2.21)

Todas as razes negativas, n , de Pn (x) = 0, se existirem, devero satisfazer


relao:
L2 n

Exemplo 2.8 Seja

1
.
L3

(2.22)

P4 (x) = x4 5x3 + 6x2 + 4x + 8 = 0. Temos n = 4, k =

3, B = | 5|. Podemos vericar que o limite superior das razes positivas dado
por L 3, 828427.

Exerccio 2.2 Sejam as equaes polinomiais,


P2 (x)
P3 (x)
P4 (x)
P6 (x)

=
=
=
=

x2 + x 1 = 0,
x3 7x2 + 16x 10 = 0,
x5 + x4 9x3 x2 + 20x 12 = 0,
2x6 3x5 2x3 + x2 x + 1 = 0.

Usando uma calculador ou computador, determine os limites das razes para esses
polinmios, desenhe os seus grcos e estime os valores das suas razes.

52

clculo numrico

Figura 2.2: Ilustrao do Teorema de Bolzano, f(1) f(6) > 0 nmero par de

razes.

2.5 Nmero de razes reais


Na seo anterior vimos um mtodo para identicar os intervalos onde se encontram as razes de um polinmio. Vejamos agora alguns resultados que indicam
o nmero de razes de um polinmio em um certo intervalo.

Teorema 2.5 (Teorema de Bolzano) Seja


com coecientes reais e x [a, b]. Assim,

i) se

P(x) = 0 uma equao algbrica

P(a) P(b) < 0, ento existe um nmero impar de razes reais (contando
suas multiplicidades) no intervalo [a, b];

ii) se P(a) P(b) > 0, ento existe um nmero par de razes reais (contando as
multiplicidades), ou no existem razes reais no intervalo [a, b].

A Figura 2.2 ilustra o teorema de Bolzano.

2.6 Regra de sinais de Descartes


A regra de sinais de Descartes permite identicar o nmero de razes reais
positivas e negativas de uma equao algbrica polinomial. Para isso, seja (+) o
nmero de razes reais positivas de uma equao P (x) = 0.

Regra de Descartes

O nmero de razes reais positivas de uma equao poliniomial igual a variao de sinais na seqncia dos coecientes do polinmio,
ou menor que este por um nmero inteiro par, sendo uma raiz de multiplicidade
m contada como m razes e no sendo contados os coecientes iguais a zero.
O exemplo a seguir ilustra a aplicao da regra.

resoluo de equaes algbricas e transcendentais

53

Exemplo 2.9 Seja

P(x) = x4 5x3 7x2 + 29x + 30 = 0. Para essa equao,


vemos que o nmero de variaes de sinais igual a 2. Assim, (+) = 2 2k,
onde os valores de k = 0 ou k = 1. Logo, de acordo com a regra, teremos (+) = 0
ou (+) = 2. Isto , ou no teremos razes reais positivas, ou teremos duas razes

reais positivas.

Corolrio 2.3 Se os coecientes de uma equao algbrica so todos diferentes

de zero, ento o nmero de razes reais negativas () (contando as multiplicidades) igual ao nmero de permanncia de sinais de seus coecientes, ou menor
que este por um nmero inteiro par.

Exemplo 2.10 Seja P(x) = x4 5x3 7x2 + 29x + 30 = 0. Para essa equao,

vemos que o nmero de permanncia de sinais igual a 2. Assim, () = 2 2k,


onde os valores de k = 0 ou k = 1. Logo, podemos ter () = 0 ou () = 2. Isto
, ou no teremos razes reais negativas, ou teremos duas razes reais negativas.
De fato, usando uma calculadora ou computador, podemos obter as razes do
polinmio P(x), x1 = 5, x2 = 3, x3 = 2, x4 = 1.

Exerccio 2.3 Dado o polinmio P(x) = x5 9x4 + 7x3 + 185x2 792x + 1040,

faa um estudo detalhado sobre quantas razes reais positivas e negativas podem
existir para P(x) = 0. Usando uma calculadora ou computador, determine as
razes deste polinmio.

2.6.1 Razes imaginrias


As razes de uma equao polinomial podem ser reais e/ou complexas. Vejamos, agora, algumas regras que permitem identicar a existncia de razes complexas.
Seja P (x) = 0 uma equao polinomial de grau n, sem razes nulas.

Teorema 2.6 (Regra de Du Gua) Se para algum valor


mos

k, 1 k < n, tiver-

a2k ak+1 ak1 ,

(2.23)

com ak coecientes do polinmio, ento P(x) possui razes complexas.

Teorema 2.7 (Regra da Lacuna)


i) Se os coecientes do polinmio P(x) so todos reais e para algum k, 1 k < n,
tivermos ak = 0 e ak1 ak+1 > 0, ento P(x) = 0 possui razes complexas;

54

clculo numrico

ii) Se os coecientes ak de P(x) so todos reais e se existem dois ou mais coe-

cientes nulos sucessivos, ento a equao P(x) = 0 possui razes complexas.

importante observar que as regras acima so condies sucientes para a


existncia de razes complexas, mas no condies necessrias.

Exemplo 2.11 Seja

P(x) = 2x5 + 3x4 + x3 + 2x2 5x 3, ento como temos


a4 a2 , pois 12 3 2, pela regra de Du Gua a equao P(x) = 0 possui

que
razes complexas. De fato, para esta equao temos: duas razes complexas, duas
razes reais negativas e uma raiz real positiva dadas por
a23

z = 0, 09473214309 1, 283742172i, z = 0, 09473214309 + 1.283742172i,


x1 = 1, 810535713, x2 = 0, 5; x3 = 1

Exemplo 2.12 Seja P(x) = 2x6 3x5 2x3 + x2 x 1 = 0, ento, pela regra

da lacuna, temos a4 = 0, a5 = 3, a3 = 2 a3 a5 = 6 > 0, ento o polinmio


possui razes complexas. De fato, temos 4 razes complexas, uma raiz real positiva
e uma raiz real negativa
z1 = 0, 4402908758 0.8247102496i, z 1 = 0, 4402908758 + 0.8247102496i,
z2 = 0, 5276694289 0.6284109203i, z 2 = 0, 5276694289 + 0.6284109203i,
x1 = 0, 4725829475, x2 = 1, 797825841.

2.7 Relaes de Girard


Seja a equao P (x) = 0 em sua forma fatorada:

an (x 1 ) (x n ) = 0,
onde os i correspondem s razes do polinmio.
Fazendo a multiplicao dos termos, obtemos:
an xn an (1 + 2 + + n )xn1
+ an (1 2 + 1 3 + + 1 n + 2 3 + + n1 n )xn2
an (1 2 3 + + 1 2 n + 1 3 4 + + n2 n1 n )xn3

..
.

(1)n an (1 2 3 n ) = 0.

(2.24)

55

resoluo de equaes algbricas e transcendentais

Comparando os coecientes da expresso acima com a expresso

an xn + an1 xn1 + + a0 = 0,

(2.25)

obtemos as seguintes relaes entre os coecientes e as razes de um polinmio.

1 + 2 + + n =

an1
an

1 2 + 1 3 + + 1 n + 2 3 + + n1 n =

an2
an

1 2 3 + + 1 2 n + 1 3 4 + + n2 n1 n =
..
.
a0
1 2 3 n = (1)n .
an

an3
an

As relaes acima so conhecidas como relaes de Girard, entre os coecientes


e as razes de um polinmio. Embora elegantes, as relaes de Girard no so
prticas para determinar as razes de um polinmio.

2.8 Equaes transcendentais


Uma equao f (x) = 0 chamada de transcendental quando a mesma no
pode ser reduzida a uma forma polinomial. Em geral, so equaes que envolvem
funes do tipo trigonomtricas, exponenciais, logartmicas etc.
Uma maneira simples de obtermos informaes sobre as razes de uma equao
transcendental pelo mtodo grco para isolamento de razes.
Seja uma equao f (x) = 0. As razes dessa equao correspondem aos valores
de x, tais que a equao satisfeita. Um modo de tentarmos determinar as razes
de f (x) = 0 construir uma equao alternativa da forma:

g(x) h(x) = 0,

(2.26)

a qual seja equivalente equao f (x) = 0, isto :

f (x) = g(x) h(x) = 0.

(2.27)

Considerando y1 = g(x) e y2 = h(x) e desenhando os grcos destas funes


sobre um mesmo sistema de coordenadas, onde estes os grcos se interceptarem,

56

clculo numrico

teremos uma raiz da equao f (x) = 0, pois, se x = x0 o ponto de interseco


das duas funes, teremos:

g(x0 ) = h(x0 ) f (x0 ) = g(x0 ) h(x0 ) = 0.

(2.28)

Logo, x0 uma raiz de f (x) = 0.

Exemplo 2.13 Seja a equao transcendental

f(x) = ex sen x 2 = 0. Se

zermos g(x) = ex e h(x) = sen x + 2, vemos, na Figura 2.3, que ambas se


interceptam no ponto x0 1, 05.

Figura 2.3: Aplicao do mtodo grco.

Exerccio 2.4 Considere a equao x2 sen x 1 = 0 e isole as suas razes com


o mtodo grco.

2.9 Grau de exatido de uma raiz


Depois de termos identicado o nmero de razes e o intervalo [a, b] onde as
mesmas se encontram, passaremos a determinar seu valor por meio de mtodos
numricos.
O que desejamos obter uma seqncia de valores {xi } de aproximaes cujo
limite o valor da raiz exata, digamos .

Teorema 2.8 Seja uma raiz isolada exata e xn uma raiz aproximada da equa-

o f(x) = 0, com e xn [a, b] e tal que |f (x)| m > 0 para a x b, em


que m = minaxb |f (x)|. Ento, |xn | |f(xmn )| .

resoluo de equaes algbricas e transcendentais

57

Demonstrao: Usando o teorema do valor mdio, temos:


f(xn ) f() = (xn )f (c), xn < c < , c (a, b).

(2.29)

Contudo, f() = 0 e f (c) m. Ento,

|f(xn ) f()| = |f(xn )| = |xn ||f (c)| m|xn |.

(2.30)

Logo,

|xn |

Exemplo 2.14 Seja

|f(xn )|
.
m

(2.31)

f(x) = x2 8, determine o erro cometido por xn = 2, 827

no intervalo [2, 3].


Soluo: calculando a derivada da funo, temos: f (x) = 2x e m =
min2x3 |2x| = 4, e assim:
|2, 827 |

f(2, 827)
0, 002.
4

Logo,
= 2, 827 0, 002.

Observe que o clculo direto da raiz resulta em x = 8 2, 828.


A determinao do valor de m muitas vezes trabalhosa, por essa razo a
tolerncia , em geral, avaliada mediante um dos seguintes critrios:

O valor absoluto da funo na raiz deve ser menor que a tolerncia:


|f (xn )| ;

(2.32)

|xn xn1 | ;

(2.33)

|xn xn1 |
.
|xn |

(2.34)

Clculo do erro absoluto:

Clculo do erro relativo:

Nos casos em que a raiz da ordem da unidade, em geral o critrio do erro


absoluto mais apropriado, enquanto nos demais casos o critrio do erro relativo
mais recomendado.

58

clculo numrico

2.10 Razes complexas


Seja o polinmio P (z) sobre os nmeros complexos dado por:

P (z) = an z n + an1 z n1 + + a1 z + a0 ,

(2.35)

onde z uma varivel complexa e os coecientes ai .


Sabemos que um nmero complexo escrito da forma z = x+iy, x, y , i =
1. As razes da equao polinomial P (z) = 0 so nmeros complexos tais que
satisfazem a equao.
Se substituirmos o valor z = x + iy na equao polinomial P (z) = 0, obtemos

u(x, y) + iv(x, y) = 0.

(2.36)

Um nmero z nulo se e somente se suas partes real e imaginria forem nulas.


Dessa forma, temos da equao (2.36) que

u(x, y) = 0,
v(x, y) = 0.
Assumindo x e y como variveis, temos um sistema de duas equaes com
duas variveis. Infelizmente, o sistema acima , em geral, no linear.
As solues desse sistema representam as solues da equao P (z) = 0. Para
termos uma idia sobre as solues complexas, podemos utilizar o mtodo grco.
Desenhando o grco das funes u(x, y) e v(x, y), vemos que onde estas se
cruzam temos uma raiz.
No captulo sobre resoluo de sistemas, veremos como obter a soluo numrica para esse tipo de sistema de equaes algbricas no lineares.

Exemplo 2.15 Seja P(z) = z3 8z2 + 45z 4 = 0. Considerando z = x + iy e


substituindo na equao, teremos:

u(x, y) = x3 3xy 8(x2 y2 ) + 45x 4 = 0,


v(x, y) = 3x2 y2 32x + 45 = 0.

Exerccio 2.5 Utilize uma calculadora ou computador para obter as solues das
equaes u(x, y) = 0, v(x, y) = 0 do exemplo 2.15.

Waldir L.
Roque

resoluo de equaes algbricas e transcendentais

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.com
, c=BR
Dados: 2013.08.09 12:35:29
-03'00'

59

2.11 Mtodos iterativos para renamento de


razes
Em geral, os mtodos iterativos so formados por quatro partes:
1. Estimativa inicial : um valor dado inicialmente como soluo do problema;
2. Mecanismo de atualizao : uma frmula que, partindo da estimativa inicial, permite atualizar a soluo aproximada;
3. Critrio de parada : um critrio para estabelecer quando o processo iterativo de atualizao deve parar;
4. Estimativa da exatido : um mecanismo que permite estimar o grau de
exatido de uma soluo de acordo com um valor de tolerncia estabelecido.
Muitas vezes, o critrio de exatido utilizado como critrio de parada.
A seguir, veremos alguns dos principais mtodos iterativos para resoluo de
equaes algbricas e transcendentais.

2.11.1 Mtodo da bisseo


Seja f (x) uma funo contnua em um intevalo [a, b], com a < b, e tal que
f (a) f (b) < 0. Vamos supor que no intervalo [a, b] existe uma nica raiz da
equao f (x) = 0.
O mtodo da bisseo consiste em reduzir a amplitude do intervalo [a, b] que
contm a raiz , usando para isso sucessivas divises de [a, b] ao meio, e vericando
em seguida em qual intervalo a raiz se encontra.
Inicialmente, dividimos o intervalo [a, b] ao meio para determinar a raiz aproximada. Temos:

ba
= x0 .
2

(2.37)

O valor da coordenada x ca ento dado por x0 = x0 + a. Se f (x0 ) = 0, ento


x0 a raiz. Caso contrrio, vericamos se

f (a) f (x0 ) < 0,

(2.38)

f (a) f (x0 ) > 0.

(2.39)

ou

60

clculo numrico

Se a primeira condio for satisfeita, a raiz [a, x0 ]; se a segunda condio


for satisfeita, ento a raiz [x0 , b].
Considerando agora o novo intervalo [a1 , b1 ] = [a, x0 ] onde se encontra a raiz,
dividimos este ao meio e obtemos:

b1 a1
= x1 .
2

(2.40)

Calculamos novamente a condio f (a1 ) f (x1 ), onde x1 = x1 + a1 , para


vericarmos, por meio do sinal, onde a raiz est localizada.
O processo repetido at que seja obtida uma raiz aproximada para a raiz
exata , satizfazendo a condio |xn+1 xn | , onde indica a tolerncia
desejada.
A Figura 2.4 ilustra a aplicao do mtodo da bisseo.

Figura 2.4: Mtodo da bisseo.

Critrio da convergncia
Vemos que, em algum passo do processo, obtemos a raiz exata , ou uma

resoluo de equaes algbricas e transcendentais

61

seqncia de intervalos encaixados do tipo (a1 , b1 ), (a2 , b2 ), , (an , bn ), tal que


f (ak ) f (bk ) < 0, k = 1, , n.
Como a cada iterao o intervalo [a, b] dividido ao meio, na n-sima iterao,
o comprimento do intervalo dado por:

bn an =

ba
,
2n

(2.41)

ou, de outra forma, podemos express-lo como:

|xn xn1 | =

ba
, n = 1, 2, . . .
2n+1

Se desejarmos uma tolerncia para o valor da raiz, temos




b a
|xn xn1 | n+1 .
2

(2.42)

(2.43)

Ento, podemos obter:

2n+1

ba

(n + 1) ln 2 ln(

ba
)

)
ln( ba

n+1
ln 2
ln( ba
)

n
1.
ln 2

(2.44)

Da equao (2.44), vemos que o nmero mximo de iteraes necessrias para


obtermos uma tolerncia da ordem de o nmero inteiro n. Em outras palavras,
no mtodo da bisseo o nmero mximo de iteraes necessrias para alcanarmos uma tolerncia desejada conhecido a priori.
As seqncias de pontos a1 , a2 , , an e b1 , b2 , , bn possuem limites quando
n tende a innito, e esses limites coincidem com o valor da raiz exata , pois:

lim an = lim bn = .

(2.45)

f (an ) f (bn ) < 0.

(2.46)

Contudo:

62

clculo numrico

Ento, temos:

lim (f (an ) f (bn )) = f 2 () 0 f () = 0.

(2.47)

Logo, = a raiz exata.

Exemplo 2.16 Seja f(x) = x3 10, a raiz exata [2, 3] e a tolerncia desejada

< 0, 1. Encontre o valor da raiz aproximada e quantas iteraes, no mximo,


devero ser realizadas para alcanarmos a tolerncia desejada.
O nmero mximo de iteraes necessrias para obtermos a raiz aproxima,
dentro da tolerncia desejada, obtido calculando-se n, da relao (2.44). Assim,
temos n = 2, 32, que nos indica um mximo de trs iteraes.

Exerccio 2.6 Seja a equao x3 10 = 0 com raiz no intervalo [2, 3]. Determine
a raiz dessa equao para quatro iteraes.

Exerccio 2.7 Implemente o mtodo da bisseo e utilize-o para determinar a


raiz da equao f(x) = x2 cos(x) no intervalo [0, 1] para cinco iteraes.

2.11.2 Mtodo das cordas ou das secantes


Seja f (x) uma funo contnua com sua derivada de segunda ordem constante
no intervalo [a, b]. Assumindo que f (a) f (b) < 0 e que existe apenas uma raiz
[a, b], neste mtodo tomamos a reta secante que passa pelos pontos a e b, e
onde ela cruza com o eixo Ox temos a raiz aproximada (veja Figura 2.5).
A equao da reta secante determinada da forma:

y y0 = m(x x0 ),

(2.48)

onde

m=

f (b) f (a)
.
ba

(2.49)

No ponto onde a secante corta o eixo Ox, temos: x = x1 y = 0, logo:

y0 = m(x1 x0 ), x0 = a, y0 = f (a),

x1 = x0

y0
=a
m

f (a)
f (b)f (a)
ba

=a

f (a)
(b a).
f (b) f (a)

(2.50)

(2.51)

resoluo de equaes algbricas e transcendentais

63

Figura 2.5: Ilustrao do mtodo das cordas.


Aplicando agora ao novo intervalo:

x2 = x1

f (x1 )
(x1 b),
f (x1 ) f (b)

(2.52)

e, assim, por induo teremos:

xn+1 = xn

f (xn )
(xn b), n = 0, 1, . . . .
f (xn ) f (b)

(2.53)

Ao aplicarmos o mesmo procedimento para o novo intervalo ([a, x1 ] ou [x1 , b]),


obtemos a nova aproximao x2 .
Esse mtodo equivale a substituir o arco pela corda, ou reta secante, por isso
o nome mtodo das cordas.
Veja que, dependendo do comportamento da funo f (x) no intervalo onde
est localizada a raiz, podemos ter quatro situaes distintas:

Quando f (x) > 0.


caso I :
caso II :

f (a) < 0 e f (b) > 0,


f (a) > 0 e f (b) < 0,

(2.54)
(2.55)

64

clculo numrico

Quando f (x) < 0.


caso III :
caso IV :

f (a) < 0 e f (b) > 0,


f (a) > 0 e f (b) < 0,

(2.56)
(2.57)

A Figura 2.6 ilustra os quatro casos.

Figura 2.6: Diferentes casos no mtodo das cordas.


Seguindo o raciocnio realizado para o caso I, podemos estender o mesmo para
os demais casos, resultando em:
Caso II:

xn+1 = xn

f (xn )
(xn a).
f (xn ) f (a)

(2.58)

xn+1 = xn

f (xn )
(xn a).
f (xn ) f (a)

(2.59)

Caso III:

resoluo de equaes algbricas e transcendentais

65

Caso IV:

f (xn )
(xn b).
(2.60)
f (xn ) f (b)
Vemos que nas equaes de cada caso o que muda apenas o valor do ponto
a ou b nas equaes. Assim, podemos escrever uma frmula nica:
xn+1 = xn

f (xn )
(xn c),
(2.61)
f (xn ) f (c)
onde denimos o valor de c como o ponto extremo do intervalo [a, b] para o qual
a funo f (x) apresenta o mesmo sinal da derivada segunda f (x). Em outras
palavras, devemos vericar se o seguinte teste vlido para a escolha do valor de
c:
xn+1 = xn

f (c) f (c) > 0.

(2.62)

Critrio da convergncia
Como a seqncia xn montona e limitada, temos:

= lim xn , a < < b.


n

(2.63)

Contudo,

lim xn+1 =

f (xn )
(xn c)
n f (xn ) f (c)

lim xn lim

f ()
( c)
f () f (c)

f () = 0.
Logo, temos que = a raiz exata da equao no intervalo [a, b].
A tolerncia pode ser considerada tomando-se:

|xn xn1 | .

(2.64)

Exerccio 2.8 Seja f(x) = ex sen x2, denida no intervalo [1; 1, 2]. Determine
a raiz dessa equao para uma tolerncia da ordem de 105 .

Exerccio 2.9 Resolva o exerccio anterior usando os procedimentos citados e,

em seguida, melhore a implementao do mtodo das cordas, de tal forma que


considere o teste de tolerncia.

66

clculo numrico

2.11.3 Mtodo de Newton-Raphson


Seja f uma funo contnua no intervalo [a, b] com f (x) e f (x) tambm
contnuas, com f (x) = 0, e a nica raiz da equao f (x) = 0 no intervalo
dado.
A aproximao para a raiz exata de f (x) = 0 pode ser obtida a partir da
aproximao de f (x) por uma srie de Taylor, em torno do ponto x0 , da forma:

f (x) = f (x0 ) + f (x0 )(x x0 ).


Estamos aproximando a funo f (x) na vizinhana do ponto x0 pela reta dada
na equao anterior. Assim, chamando de x1 o ponto onde a reta corta o eixo
dos x, temos:

f (x1 ) = 0 f (x0 ) + f (x0 )(x1 x0 ) = 0,

(2.65)

de onde podemos obter o valor de x1 ,

x1 = x0

f (x0 )
.
f (x0 )

(2.66)

Fazendo o mesmo procedimento, para uma iterao de ordem n, obtemos:

f (xn+1 ) = 0 f (xn ) + f (xn )(xn+1 xn ) = 0.

(2.67)

Assim, podemos escrever:

f (xn )
,
(2.68)
f (xn )
com n = 0, 1, 2, . . . e xn+1 a aproximao da raiz para a iterao de ordem n.
Geometricamente, o processo de Newton-Raphson parece com o mtodo das
cordas, s que ao invs das retas secantes, temos as retas tangentes, conforme
podemos vericar na ilustrao da Figura 2.7.
Veja que a tangente do ngulo dada por:
xn+1 = xn

tg =
x0 x1 =

f (x0 )
= f (x0 )
x0 x1
f (x0 )

f (x0 )

x1 = x0

f (x0 )
.
f (x0 )

(2.69)

67

resoluo de equaes algbricas e transcendentais

Figura 2.7: Ilustraes do mtodo de Newton-Raphson.


Agora, considerando o novo valor do ngulo , teremos:

f (x1 )
= f (x1 )
x1 x2
f (x1 )
=

f (x1 )
f (x1 )
.
= x1
f (x1 )

tg =
x1 x2
x2

(2.70)

Assim, para um valor n qualquer teremos:

xn+1 = xn

f (xn )
.
f (xn )

(2.71)

Observe que, se considerarmos o ponto x0 a partir da tangente do ponto a,


poderemos ter x1 fora do intervalo [a, b], no permitindo a convergncia do mtodo
de Newton-Raphson.
Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:36:23 -03'00'

68

clculo numrico

Critrio da convergncia
Para podermos aplicar o mtodo de Newton-Raphson, devemos, portanto,
observar a seguinte regra para convergncia:

i)
ii)

As derivadas f (x) e f (x) devem ser no nulas e preservar o mesmo sinal em


[a, b];
A escolha do ponto x0 deve ser tal que f (x0 ) f (x0 ) > 0.
Dessa forma, garantimos a convergncia do mtodo. Ento, teremos:

=
lim xn+1 =

lim xn , a < < b,

f (xn )
n f (xn )

lim xn lim

f ()
f () = 0.
f ()

Assim, vemos que = a raiz exata da equao.


Como o mtodo convergente, uma raiz aproximada pode sempre ser obtida
de acordo com uma tolerncia especicada, considerando

|xn xn1 | < .

(2.72)

Exerccio 2.10 Seja a funo f(x) = 2x3 + ln x 5 com raiz localizada no inter-

valo [1, 2]. Determinar a raiz aproximada para 10 iteraes, usando as funes
denidas acima.

Exerccio 2.11 Considere a funo u = x3 5x2 +x+3, partindo de x0 = 2.44 e


verique que para uma tolerncia 105 a soluo obtida aps seis iteraes.

2.11.4 Mtodo da iterao linear


Seja f (x) uma funo contnua no intervalo [a, b] e a nica raiz da equao
f (x) = 0 neste intervalo. Vimos na seo (2.8) que podemos estimar a raiz de
uma equao utilizando o mtodo grco. A equao (2.27) separa a funo f (x)
em duas outras funes de modo que a raiz de f (x) determinada pelo ponto
onde o grco das funes g(x) e h(x) se interceptam.
O mtodo que vamos estudar agora consiste em transformar a equao f (x) =
0 em uma equao semelhante, do tipo:

resoluo de equaes algbricas e transcendentais

f (x) = x F (x),

69

(2.73)

onde F (x) chamada de funo de iterao.


Supondo que x0 seja uma estimativa inicial da raiz exata , calculamos o valor
de F (x0 ) e tomamos a seguinte iterao:

x1 = F (x0 )
x2 = F (x1 )
..
..
.
.
xn+1 = F (xn ), n = 0, 1, 2, . . . .

(2.74)

A partir deste mecanismo de iterao, geramos uma seqncia de aproximaes S = {x0 , x1 , . . . , xn }. A interpretao geomtrica desse mtodo simples e
est ilustrada na Figura 2.8:

Figura 2.8: Ilustrao do mtodo da iterao linear.


Como j mencionamos anteriormente, o mtodo ser til se a seqncia x0 , x1 , . . . , xn
convergir para a raiz exata. Vamos supor que

70

clculo numrico

lim xn = .

Como F (x) contnua, teremos:

lim xn+1 = lim F (xn ) = F (),

(2.75)

logo, da equao (2.73) conclumos que = a raiz exata de f (x) = 0.


Como a construo da funo de iterao F (x) no nica, a questo que
surge como podemos obter a funo de iterao F (x) que gere uma seqncia
convergente? A escolha dessa funo feita com base na funo original f (x).
H vrias formas de obtermos uma candidata funo de iterao, porm nem
todas podem ser utilizadas para estimar razes aproximadas, j que o critrio da
convergncia, enunciado a seguir, deve ser satisfeito pela funo de iterao.

Critrio da convergncia
A escolha da funo F (x) deve satisfazer ao seguinte teorema.

Teorema 2.9 Seja I uma raiz da equao f(x) = 0 e F(x) uma funo
contnua e derivvel no intervalo I. Se |F (x)| k < 1 para todos os pontos do
intervalo I e x0 I, ento os valores dados pela equao xn+1 = F(xn ) convergem
para a raiz exata .
Observe que o Teorema garante a convergncia, partindo-se de uma estimativa
inicial qualquer x0 I , desde que a derivada da funo candidata seja limitada
para todos os pontos no intervalo I que contm uma nica raiz. Deste modo,
o Teorema no for vlido para uma certa estimativa inicial, ento a escolha da
funo F (x) deve ser descarta.

Exemplo 2.17 Seja a equao

f(x) = x2 sen x = 0 e a raiz inicial x0 = 0, 9.

Determine a funo de iterao e a raiz aproximada para oito iteraes.


Podemos escolher as seguintes funes como candidatas funo de iterao:
1. Somando x aos dois lados da equao, teremos:
x + x2 sen x = x.

(2.76)

Assim, podemos tomar x = F1 (x) = x2 + x sen x como uma proposta de funo


de iterao.
2. Isolando x da equao original, temos:

resoluo de equaes algbricas e transcendentais

x2 = sen x x =

sen x,

e, portanto, podemos considerar a funo F2 (x) =


o de iterao.
3. Da funo original, podemos considerar:

sen x = x2 x = arcsen x2 .

71

(2.77)

sen x como candidata fun-

(2.78)

Assim, podemos considerar a funo F3 (x) = arcsen x2 como candidata


funo de iterao.
Pelo critrio da convergncia, devemos vericar se as funes F1 (x), F2 (x) e
F3 (x) satisfazem s condies para se tornarem funes de iterao.
Para a funo F1 (x) temos que |F1 (0, 9)| 2, 178390 > 1, logo como F1 (x) no
satisfaz o Teorema da convergncia, pois no vlido no ponto x0 , logo a funo
F1 (x) deve ser descartada. Calculando |F3 (0, 9)| 3, 069420 > 1, portanto F3 (x)
x
| tal que em uma vizinhana
deve ser descartada. A funo F2 (x) = 21 | cos
sen x

I = [1/2, 3/2] temos F2 (x) < 1, satisfazendo o Teorema. Logo, a funo F2 (x) =

sen x gera uma seqncia convergente para qualquer valor da estimativa inicial
no intervalo I , e por conseguinte para x0 = 0, 9.
Usando a funo de iterao F2 (x), obtemos a seguinte seqncia de razes
aproximadas para 8 iteraes
S = {0, 9; 0, 8850575741; 0, 8797451034; 0, 8778248379; 0, 8771266440;
0, 8768722470; 0, 8767794824; 0, 8767456467; 0, 8767333039}
(2.79)

2.12 Exerccios propostos


1. Dadas as funes a seguir, verique gracamente quantas razes as mesmas
possuem e localize qual delas a menor raiz positiva.
a) ex sen ( 3x )
b) cos (x) cos (3x)
c) ex tg x
d) 7 sen (x) ex cos(x) 0, 7
e) ln(x) + 30ex 3

72

clculo numrico

2. Supondo que duas locomotivas viajem no mesmo sentido e trilho com equaes de movimento dadas por: x1 (t) = 110 80e(t/2) e x2 (t) = 50t, respectivamente. Utilizando argumentos grcos, verique se essas locomotivas
se chocam. Se isso acontecer, em quanto tempo o acidente ocorreria?
3. Dada a equao x3 6x2 + 10x 6 = 0, encontre um intervalo de comprimento unitrio onde se encontre uma, e apenas uma, raiz da equao.
4. Seja o polinmio P (x) = x5 6x4 + 8x3 + 8x2 + 4x 40. Determine o valor
de P (3), utilizando os mtodos de Briot-Runi e Horner.
5. Para o polinmio do exerccio anterior, faa um estudo sobre os limites das
razes reais desse polinmio. Em seguida, use a regra de Descartes para
inferir sobre os sinais das razes reais do polinmio e as regras de Du Gua
e da Lacuna, para as razes imaginrias.
6. Encontre um intervalo a x b tal que as funes abaixo possuam sinais
opostos em f (a) e f (b).
a) ln(x) + x 5
b) ex x 2
7. Use o mtodo da bisseo para determinar as razes das funes do exerccio
anterior com uma preciso = 106 .
8. Se [0, 2] o intervalo inicial para a soluo de uma equao f (x) = 0, qual
o nmero de iteraes necessrias para alcanarmos a soluo aproximada
com uma tolerncia da ordem de 106 e 1010 ? Valide seu resultado encontrando a raiz da equao: x3 4x2 2x + 8 = 0.
9. Seja a equao x2 = ex ln x 0, 5. Encontre uma funo de iterao para
essa equao e em seguida determine a soluo para uma tolerncia da
ordem de 103 .
10. Resolva a equao 2x4 9ex 20 = 0, no intervalo de [5, 5] com uma
tolerncia de 103 , usando o mtodo da iterao linear.
11. Resolva as equaes abaixo usando o mtodo das cordas, com uma preciso
t = 10, utilizando intervalos diferentes de inicializao.
a) 10cos(x) = x
3

b) xx = 9

resoluo de equaes algbricas e transcendentais

73

12. O algoritmo de Newton para determinar a raiz quadrada de um nmero


real positivo dado pela frmula de iterao: xk+1 = 12 (xk + xk ), com
k = 0, 1, . . . . Implemente esse algoritmo e determine:

a) 50, partindo de x0 = 7;

b) 125, partindo de x0 = 11.


13. Deduza o algoritmo de Newton para a raiz cbica de um nmero real.
Sugesto: utilize a funo f (x) = x3 .
14. Use o mtodo de Newton-Raphson para determinar as razes das equaes
abaixo:

a) x ln x + 7sen x cos x = 0, 3 com x0 = 1.


b) x4 cos x + 6x5 ex = 1, com x0 = 5.
15. A equao de Kepler da mecnica celeste dada por y = x sen (x), onde
corresponde excentricidade da rbita. Considerando y = 1 e = 0, 5,
determine a raiz para a equao de Kepler no intervalo [0, ]. Utilize os
mtodos estudados neste captulo.

74

clculo numrico

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:37:05 -03'00'

Captulo 3
RESOLUO DE SISTEMAS DE
EQUAES ALGBRICAS

Neste captulo, estudaremos tcnicas de resoluo de sistemas de equaes


algbricas lineares e no lineares.

3.1 Sistemas lineares


Iniciaremos com os sistemas de equaes lineares, os quais so denidos da
forma:

Denio 3.1 Um sistema de equaes algbricas lineares denido como um


conjunto de m equaes que contm n incgnitas, da forma:
a11 x1 + a12 x2 + + a1n xn = b1 ,
a21 x1 + a22 x2 + + a2n xn = b2 ,

..
.

(3.1)

..
.

am1 x1 + am2 x2 + + amn xn = bm ,

onde xi so as incgnitas, aij so os coecientes e bj so os termos independentes.


O sistema linear (3.1) pode ser reescrito de forma compacta como:

S=

aij xj = bi , i = 1, 2, . . . , m.

(3.2)

j=1

Podemos ainda escrever as equaes de um sistema linear na sua forma matricial, como:

76

clculo numrico

Ax = B.
A matriz

A, de ordem m n, a matriz dos coecientes, dada por:

a1n
.. .
.
amn

a11 a12
..
..
A= .
.
am1 am2

(3.3)

A matrix x uma matriz coluna de ordem n 1, chamada de matriz das


incgnitas ou variveis, dada por:

x1
x2

x = .. .
(3.4)
.

xn
A matriz B uma matriz coluna de ordem m 1, conhecida como a matriz
dos termos independentes, dada por:

b1
b2

B = .. .
(3.5)
.

bm

Denio 3.2 Denimos a matriz ampliada do sistema S como a matriz

C=

a11

..
.

a12

..
.

am1 am2

Denio 3.3 Uma matriz

a1n

..
.

b1

..
.

(3.6)

amn bm

x1
x2

x = ..
.
xn

dita uma soluo do sistema S se, para xi = xi , i = 1, , n, tivermos uma


identidade numrica para o sistema Ax = B.

resoluo de sistemas de equaes algbricas

77

Denio 3.4 Um sistema de equaes algbricas lineares dito homogneo, se


a matriz B do sistema nula, isto , os bj = 0, j.

Denio 3.5 Um sistema de equaes algbricas lineares dito compatvel,


quando apresenta soluo, e dito incompatvel, quando no possui soluo.

fcil vermos que todo sistema linear homogneo S possui soluo. Assim, o
mesmo compatvel, pois

Ax = 0 xi = 0.
Essa soluo chamada de soluo trivial, x = 0.
Suponha agora o seguinte sistema:

x1 + x2 = 0,
x1 + x2 = 2.
Da primeira equao podemos escrever que x1 = x2 , e da segunda, substituindo-se este resultado, temos:

x2 = 2 x1 x2 = 2 + x2 0 = 2? Absurdo!
Portanto, vemos que o sistema apresentado no possui soluo, incompatvel.
Geometricamente, visto como formado por duas retas paralelas, onde cada
equao corresponde a equao de uma reta e, por isso, elas no se cruzam,
gerando um sistema incompatvel.

3.1.1 Sistemas compatveis


Os sistemas compatveis esto divididos em:

Sistema determinados;
Sistemas indeterminados.

Denio 3.6 Os sistemas compatveis so ditos determinados, quando possuem


soluo nica, e so ditos indeterminados, quando possuem vrias solues.

Exemplo 3.1 Seja o sistema:


x1 + x2 = 0,
x1 x2 = 0.

Ele homogneo e tem soluo trivial x1 = x2 = 0. Portanto, um sistema


determinado.

78

clculo numrico

Exemplo 3.2 Seja o sistema:


x1 + x2 = 0,
3x1 + 3x2 = 0.

Ele compatvel, porm indeterminado, j que, ao resolv-lo, temos x1 = x2 , e


portanto apresenta innitas solues, pois o valor de x2 arbitrio.

3.1.2 Sistemas triangulares


Em muitas ocasies, o nmero de equaes que compe um sistema S igual
a seu nmero de incgnitas. Nesse caso, denotamos o sistema por Sn .

Denio 3.7 Um sistema

Sn dito triangular superior, quando os elementos


da matriz dos coecientes so tais que aij = 0 para j < i, i, j = 1, 2, . . . , n.
a11 x1 + a12 x2 + + a1n xn = b1
a22 x2 + + a2n xn = b2

..
.

..
.

ann = bn

Denio 3.8 Um sistema

Sn dito triangular inferior, quando os elementos


da matriz dos coecientes so tais que aij = 0 para i < j, i, j = 1, 2, . . . , n.
a11 x1 = b1
a21 x1 + a22 x2 = b2

..
.

..
.

an1 x1 + an2 x2 + + ann xn = bn

Os sistemas triangulares so sistemas determinados, quando aii = 0. Nesses


casos, as solues para os sistemas so facilmente obtidas. Para o sistema triangular superior, a soluo obtida por substituio retroativa, pois temos que
n
. Partindo do valor de xn , obtemos o valor de xn1 por substituio
xn = abnn
direta, e assim sucessivamente. No caso de sistemas triangulares inferiores, a so1
. Com esse
luo obtida por substituio progressiva, pois temos que x1 = ab11
resultado substitumos o valor de x1 na equao seguinte e obtemos o valor de
x2 , e assim sucessivamente.

resoluo de sistemas de equaes algbricas

79

3.2 Transformaes elementares


Transformaes elementares so operaes que podem ser realizadas com as
equaes de um sistema linear de tal forma que o conjunto de equaes transformadas preservam a soluo do sistema original.
As transformaes elementares so:
1. Trocar a ordem de duas equaes do sistema;
2. Multiplicar uma equao do sistema por uma constante no nula;
3. Adicionar duas equaes do sistema, e substituir o resultado por uma delas.

Denio 3.9 Dois sistemas S e S so ditos equivalentes, se S puder ser obtido


de S por intermdio de transformaes elementares.

Teorema 3.1 Sistemas equivalentes ou so incompatveis, ou possuem as mesmas solues.

3.3 Soluo numrica de sistemas de equaes algbricas lineares


Nesta seo, veremos alguns mtodos para a resoluo numrica de sistemas
de equaes algbricas lineares.
Os mtodos de resoluo de sistemas lineares esto divididos em duas classes.

Mtodos diretos;
Mtodos iterativos.
Os mtodos diretos so os que determinam a soluo de um sistema linear por
meio de um nmero nito de passos (operaes). Os mtodos iterativos requerem
um nmero innito de passos.
Veremos inicialmente alguns mtodos diretos e, em seguida, os mtodos iterativos.

3.3.1 Mtodos diretos


Entre os mtodos diretos, estudaremos o mtodo de Gauss, o mtodo da pivotizao completa e o mtodo de Jordan. Tais mtodos, so muitas vezes, discutidos
em cursos de lgebra linear.

80

clculo numrico

Mtodo de eliminao de Gauss


O mtodo de Gauss consiste em, por meio de (n 1) passos, transformar o
sistema linear Ax = B em um sistema triangular equivalente, Ux = C.
Vejamos a seguinte ilustrao de caso. Seja o sistema:

2x1 + 3x2 x3 = 5,
4x1 + 4x2 3x3 = 3,
2x1 3x2 + x3 = 1.

(3.7)

Vamos escrever a matriz ampliada do sistema:

2 3 1 5
B0 = 4 4 3 3 .
2 3 1 1

(0)

(0)

(0)

Chamando de L1 , L2 , L3 as linhas 1, 2 e 3, respectivamente, de B0 , esco(0)


lhemos o elemento a11 como piv e calculamos os multiplicadores:
(0)

(0)
m21

a21

a31

(0)
a11
(0)

(0)
m31

(0)
a11

4
= = 2,
2
2
= = 1.
2

Fazendo agora as seguintes operaes elementares:


(0)

L1 ,

L1

(1)

(0)

(0)

(0)

L2 ,

(0)

(0)

(0)

L3 ,

m21 L1 + L2
m31 L1 + L3

(1)

(1)

(1)

(1)

(1)

determinamos as novas equaes do sistema, ou seja, L1 , L2 e L3 so as novas


linhas da matriz B1 do sistema. Fazendo os clculos, temos:

2 3 1 5
B1 = 0 2 1 7 .
0 6 2 6

resoluo de sistemas de equaes algbricas

81

Considerando agora a nova matriz ampliada, B1 , repetimos o mesmo processo,


(1)
tomando como piv o elemento a22 = 2 e calculando o multiplicador:
(1)

(1)

m32 =

a32
(1)
a22

6
= 3.
2

Agora, construmos as novas linhas da matriz ampliada:


(1)

L1 ,

(1)

L2 ,

(1)

L3 .

L1
L2
(1)

(1)

m32 L2 + L3

(2)
(2)

(2)

Portanto, a nova matriz ampliada :

2 3 1 5
B2 = 0 2 1 7 .
0 0
5 15
Vemos que o sistema original foi reduzido a um sistema triangular equivalente
dado por:

2x1 + 3x2 x3 = 5,
2x2 x3 = 7,
5x3 = 15.
Resolvendo o sistema equivalente por substituio retroativa, temos a soluo:

1
x = 2 .
3
Genericamente, observe que os multiplicadores so construdos de tal forma
a gerar elementos nulos na nova matriz ampliada equivalente do sistema. Os
elementos da nova matriz ampliada podem ser obtidos para um certo piv akk = 0,
da forma:

aij = aij mik akj ,


onde mik =

aik
,
akk

k + 1 i n, k + 1 j n, e k = 1, . . . , n 1.

Os termos independentes transformam-se da forma:

bi = bi mik bk , i = k + 1, . . . , n.

82

clculo numrico

Exerccio 3.1 Escreva o algoritmo para o mtodo de Gauss e verique quantas operaes (custo computacional) so necessrias no mtodo de eliminao de
Gauss.
Mtodo da pivotizao completa
Seja M a matriz ampliada do sistema Ax = B, vamos expressar M da forma:

M=

a11 a12
a21 a22
..
..
.
.
ap1 ap2
..
..
.
.
an1 an2

. . . a1q . . . a1n b1
. . . a2q . . . a2n b2
.
.
..
. . . .. . . . ..
.
. . . apq . . . apn bp
.
.
..
. . . .. . . . ..
.
. . . anq . . . ann bn

(3.8)

Se considerarmos como piv o elemento apq = 0, que possui o maior valor


absoluto e que no pertence coluna dos termos independentes, podemos calcular
os fatores multiplicadores

miq =

aiq
, i = q.
apq

Vamos chamar a linha p de linha pivotal Lp . Fazendo agora a operao sobre


as linhas da matriz ampliada,

mi Lp + Li Li , i = p,
o resultado dessa operao gera uma nova matriz cuja q -sima coluna formada
por zeros, exceto o termo que o piv.
Com essa nova matriz M , podemos gerar outra matriz M1 , onde a p-sima
linha e a q -sima coluna so retiradas, gerando M1 , cuja ordem (n 1) n.
Considerando a matriz M1 e fazendo o mesmo procedimento de transformao
elementar e depois a retirada da linha e coluna, obtemos uma nova matriz, M2 .
Esse procedimento ser realizado sucessivas vezes at obtermos a matriz Mn1 .
Podemos notar que esta ltima matriz formada por uma nica linha que contm
apenas dois elementos.
Para obter a soluo do sistema, construmos as equaes geradas por todas as
linhas pivotais. Ento, por meio da tcnica da substituio retroativa, a soluo
nalmente determinada.
importante observar a ordem em que foram realizadas as eliminaes para
cada incgnita, pois esta deve ser preservada, para que o novo sistema gerado
seja equivalente ao sistema original.

resoluo de sistemas de equaes algbricas

83

Exemplo 3.3 Seja o sistema:

2 3 1 5
2x1 + 3x2 x3 = 5
4x1 + 4x2 3x3 = 3 M0 = 4 4 3 3 .
2 3 1 1
2x1 3x2 + x3 = 1

O piv a21 = |4| = 4. No entanto, poderamos ter escolhido, sem perda de


generalidade, o termo a22 = |4| = 4. Assim,
m1 =

a11
2
1
= =
a21
4
2

m3 =

a31
2
1
= =
a21
4
2

1
1 7
m1 L2 + L1 = (4, 4, 3, 3) + (2, 3, 1, 5) = (0, 1, , )
2
2 2
1
5 5
m3 L2 + L3 = (4, 4, 3, 3) + (2, 3, 1, 1) = (0, 5, , )
2
2 2
E1 = 4x1 + 4x2 3x3 = 3
(
M2 =

1
5

1
2
5
2

7
2

52

Tomando o novo piv a21 = | 5| = 5, temos:


m1 =

a11
1
1
= =
a21
5
5

1
5 5
1 7
(5, , ) + (1, , ) = (0, 1, 3)
5
2 2
2 2
5
5
= 5x2 + x3 =
2
2
= x3 = 3

m1 L2 + L1 =
E2
E3

Por m, fazendo a propagao retroativa, obtemos:

1
x2 = 2, x1 = 1, x = 2 .
3

84

clculo numrico

Mtodo de Jordan
O mtodo de Jordan consiste em realizar operaes elementares para transformar o sistema original em um sistema diagonal equivalente. Nesse caso, escolhemos sempre o piv como um elemento da diagonal e executamos o mtodo da
pivotizao completa.
Vejamos o seguinte exemplo.

Exemplo 3.4 Seja o sistema:


x1 + x2 + 2x3 = 4,
2x1 x2 x3 = 0,
x1 x2 x3 = 1.

Realizando as devidas operaes elementares obtemos:

1 1
2
M = 2 1 1
1 1 1

1 0 1/3

0
3 5

0 0 1/3


1
4
0 0
0
1

4/3
8
1/3

1
2
4
3 5 8
2 3 5

1 0
0
1
0 3 0 3 .
0 0 1/3 1/3

O sistema reduzido forma: x1 = 1, 3x2 = 3, 31 x3 = 13 . A soluo ,


portanto:

1
x = 1 .
1

Exerccio 3.2 Implemente computacionalmente o mtodo de Jordan.

3.3.2 Renamento de solues


A soluo de um sistema est sujeita a erros de arredondamento. Nesse caso,
a soluo apresenta um resduo que pode ser medido por meio do seguinte procedimento. Tomamos a matriz dos resduos da forma:

r = B Ax.
Supondo que a soluo aproximada para o sistema Ax = B seja x(0) , obtemos
a soluo melhorada x(1) fazendo a correo

85

resoluo de sistemas de equaes algbricas

x(1) = x(0) + (0) ,


onde (0) representa a matriz de correo. Logo, temos:

Ax(1) = B.
Ento, substituindo, teremos:

A(x(0) + (0) ) = B
A (0) = B Ax(0)
A (0) = r(0) .
Devemos resolver agora o sistema linear apresentado para obtermos (0) , que
o termo de correo. Assim, x(1) = x(0) + (0) .
Para obter melhor aproximao da soluo, o mesmo procedimento pode ser
adotado para o novo sistema:

A (1) = r(1) ,
onde (1) a parcela de correo de x(1) e r(1) o resduo produzido por x(1) . Isto
:

x(2)
Ax(2)
A (1)
A (1)

=
=
=
=

x(1) + (1)
A(x(1) + (1) ) = B
B Ax(1)
r(1) .

O processo de renamento de solues pode continuar sucessivas vezes.

3.3.3 Mtodos iterativos


Seja Ax = B um sistema linear. Os mtodos iterativos consistem em calcularmos uma seqncia de solues x(1) , x(2) , , x(k) obtidas com base em uma
estimativa inicial x(0) , utilizando para isso um mecanismo de atualizao e um
critrio de parada, que pode ser considerado como sendo o prprio critrio de
estimativa de exatido, baseado em uma tolerncia.
A seguir, veremos alguns mtodos iterativos.

Waldir L.
Roque

Assinado de forma digital por Waldir


L. Roque
DN: cn=Waldir L. Roque, o, ou,
email=wlroque@gmail.com, c=BR
Dados: 2013.08.09 12:37:55 -03'00'

86

clculo numrico

Mtodo de Jacobi
No mtodo de Jacobi, os valores das incgnitas so obtidos de forma iterativa,
partindo das equaes geradas para cada uma das incgnitas individualmente.
Considerando o sistema linear Sn , podemos extrair as variveis da forma:
(k)

(k)

(k)

(k)

(k+1)
x1

b1 (a12 x2 + + a1n xn )
,
=
a11

(k+1)
x2

b2 (a21 x1 + + a2n xn )
=
,
a22

..
.

..
.
(k)

x(k+1)
=
n

(k)

bn (an1 x1 + + an n1 xn1 )
.
ann

onde k = 0, 1, 2, . . .
O sistema acima pode ser reescrito da seguinte forma:

x = Fx + C,
onde temos:

x=

F=

x1
x2
..
.

, C =

xn
0
a21 /a22
..
.

an1 /ann

b1 /a11
b2 /a22
..
.

bn /ann

a12 /a11 a13 /a11


0
a23 /a22
..
..
.
.
an2 /ann

a1n /a11
a2n /a22
..
.

Assim, o mtodo de Jacobi dado por:


a) x(0) como a estimativa inicial,
b) x(k) como as aproximaes sucessivas,

x(k+1) = Fx(k) + C, k = 0, 1, 2, . . .
c) tolerncia,



(k+1)
(k)
xi
xi

max

< , 1 i n.

resoluo de sistemas de equaes algbricas

87

Exemplo 3.5 Seja o sistema:


2x1 x2 = 1,
x1 2x2 = 3.

Considerando uma tolerncia 102 , determine a soluo do sistema.


Soluo: Pelo mtodo de Jacobi, temos:
(k+1)

x1

(k+1)

x2

1
(k)
(1 + x2 )
2
1
(k)
=
(3 + x1 ), k = 0, 1, 2, . . .
2

Tomando a soluo inicial arbitrria x(0) = (x1 = 0, x2 = 0) e considerando


k = 0, temos:
(1)

x1

(1)

x2

1
1
1
(0)
(1 + x2 ) = (1 + 0) = ,
2
2
2
1
1
3
(0)
=
(3 + x1 ) = (3 0) =
.
2
2
2

Vericamos se o critrio de parada com base na tolerncia satisfeito; se no


for, prosseguimos, para determinar a nova iterao, k = 1.
importante que os mtodos iterativos sejam convergentes na direo da
soluo exata, pois, caso contrrio, no teremos garantia de que para uma nova
iterao a soluo aproximada melhor que a anterior.

Denio 3.10 (Diagonal Dominante) Uma matriz quadrada A de ordem


n n dita diagonal dominante quando:
|aii | >

|aij | ; i = j, i = 1, . . . , n.

j=1

Teorema 3.2 (Iterao de Jacobi) Seja A uma matriz diagonal dominante.


Ento o sistema de equaes lineares A x = B possui soluo nica e o mtodo
de iterao de Jacobi convergir para a soluo exata, qualquer que seja a soluo
inicial considerada.

Teorema3.3 suciente que os elementos

fij da matriz F satisfaam a desi-

|fij | L < 1, j = 1, , n, para que a soluo convirja, qualquer


gualdade
que seja a soluo inicial considerada.
n
i=1

88

clculo numrico

Portanto, para que possamos utilizar as equaes de iterao de Jacobi,


preciso vericarmos se a matriz dos coecientes do sistema satisfaz a condio
diagonal dominante. Caso a condio no seja satisfeita, possvel utilizarmos
operaes elementares para vericarmos se h um sistema equivalente, para o
qual a matriz dos coecientes seja diagonal dominante. As equaes de iterao
de Jacobi devem, ento, ser escritas a partir do sistema equivalente que possui a
matriz diagonal dominante.

Mtodo de Gauss-Seidel
Nesse mtodo, as solues so obtidas da forma:
i) partindo de uma estimativa inicial:
(
)
(0)
(0)
x(0) = x1 , x2 , , x(0)
,
n
ii) calculamos a seqncia de aproximaes x(1) , x(2) , , x(k) , utilizando as equaes:
(k+1)

x1

(k+1)

x2

]
1 [
(k)
(k)
,
b1 a12 x2 a13 x3 a1n x(k)
n
a11
]
1 [
(k+1)
(k)
=
,
b2 a21 x1
a23 x3 a2n x(k)
n
a22
=

..
.

x(k+1)
=
n

..
.

]
1 [
(k+1)
(k+1)
(k+1)
bn an1 x1
an2 x2
an n1 xn1 .
ann

Vemos que o mtodo de Gauss-Seidel utiliza, no mesmo ciclo de iterao, os


valores das variveis que j foram atualizados dentro do mesmo ciclo de iterao.
Como isso h uma acelerao na obteno das novas solues. A convergncia
do mtodo de Gauss-Seidel garantida pelos mesmos teoremas de convergncia
aplicados ao mtodo de Jacobi.
O critrio da convergncia utilizando a diagonal dominante um critrio suciente para que haja a convergncia para a soluo exata. No entanto, quando
o critrio da diagonal dominate no satisfeito, um critrio mais rigoroso, com
base no raio espectral da matriz de iterao determina a condio necessria e
suciente para a convergncia dos mtodos de Jacobi e Gauss-Seidel. Em virtude
disso, para um determinado sistema, pode ocorrer que o mtodo de Jacobi no
converge, enquanto o mtodo de Gauss-Seidel converge, ou vice-versa.

Denio 3.11 O raio espectral de uma matriz quadrada Ann denido por
(A) = max|i |,

resoluo de sistemas de equaes algbricas

89

onde i corresponde aos autovalores da matriz A.


Em outras palavras, o raio espectral de uma matriz o seu maior autovalor,
quando calculado em valor absoluto.

Teorema 3.4 A seqncia de solues S = {x(0) , x(1) , , x(n) , }, gerada por


x(k+1) = Fx(k) + C, k = 0, 1, 2, . . .

convergente, para qualquer que seja a estimativa inicial x(0) , se e somente se


(F) < 1.
Infelizmente, o clculo do raio espectral de uma matriz possui um custo computacional mais elevado do que o clculo para vericao da condio de diagonal
dominante, por isso se evita o clculo do raio espectral a priori.
O critrio de parada pode ser determinado por


(k+1)
(k)
xi
< ,
xi
max

onde a tolerncia.

Exerccio 3.3 Implemente computacionalmente o mtodo de Gauss-Seidel. Em

seguida, utilize sua implementao, para resolver o sistema dado no exemplo 3.5.

Mtodo de Sobre-Relaxao Sucessiva

3.4 Sistemas mal-condicionados


b uma soluo aproximada do sistema Ax = B, ento:
Vimos que, se x
Ab
x = B r r = B Ab
x.
b for uma boa soluo, esperamos que o resduo r seja pequeno. Em outras
Se x
palavras, que os elementos de r possuam valores pequenos. No entanto, valores
b
pequenos para a matriz dos resduos nem sempre garantem que a aproximao x
seja boa. Vejamos o exemplo que ilustra tal situao.
Seja o sistema dado pelas equaes:

x1 + 1, 001x2 = 2, 001,
0, 999x1 + x2 = 1, 999.

(3.9)

90

clculo numrico

(
A soluo exata desse sistema x =
(
)
2, 0
b=
mada seja x
. Ento,
0, 001

(
r =
(
=

2, 001
1, 999

0, 000001
0, 000000

1
1

)
. Suponha que a soluo aproxi-

1, 000 1, 001
0, 999 1, 000,

)(

2, 000
0, 001

Levando em considerao a matriz dos resduos, somos induzidos a concluir


b uma boa aproximao; porm, vemos que isso no verdade.
que a matriz x
Nos casos em que isso acontece, dizemos que o sistema est mal-condicionado.
Para identicarmos se um sistema est mal-condicionado, devemos vericar se o
determinante normalizado da matriz dos coecientes muito menor que a unidade.

Denio 3.12 O determinante normalizado de uma matriz A obtido da for-

ma:

Det(Norm A) =

onde i =

Det(A)
,
1 2 n

a2i1 + a2i2 + + a2in , i = 1, 2, , n.

Para o caso dado em (3.9), calculando o valor do determinante normalizado


da matriz dos coecientes, temos:

Det(Norm A) = 5 107 1,
que conrma que o sistema mal-condicionado.

Exerccio 3.4 Implemente computacionalmente o clculo do determinante normalizado e verique com a sua implementao, o resultado para o caso (3.9).

3.5 Sistemas no lineares


Os sistemas de equaes algbricas nem sempre so lineares, e, portanto, os
mtodos empregados nas sees anteriores no podem ser diretamente utilizados
para a resoluo de sistemas de equaes algbricas no lineares ou transcendentais.

resoluo de sistemas de equaes algbricas

91

Denio 3.13 Um sistema de equaes algbricas no lineares expresso da


forma:

fi (x1 , x2 , . . . , xn ) = 0, i = 1, 2, . . . , n,

(3.10)

onde as funes fi so funes sobre o domnio dos nmeros Reais.

Denio 3.14 Uma soluo do sistema no linear um vetor x = (x1 , x2 , . . . , xn )


de componentes reais para o qual o conjunto de equaes (3.10) satisfeito simultaneamente.
Vamos considerar o seguinte sistema, apresentado em [Mathews, 87], como
estudo de caso, j que um bom exemplo.

f1 (x, y) = x2 2x y + 0, 5 = 0,
f2 (x, y) = x2 + 4y 2 4 = 0.

(3.11)
(3.12)

O sistema dado no linear. fcil percebermos que a primeira equao


corresponde a uma parbola e a segunda equao, a uma elipse. Isso pode ser
visto na Figura 3.1. O que desejamos encontrar um ponto no plano, digamos
(p, q), que satisfaa simultaneamente s duas equaes. Isto , tal que f1 (p, q) =
f2 (p, q) = 0.
Observando a gura, podemos concluir que h dois pontos (pi , qi ), i = 1, 2,
onde as duas curvas se interceptam e, portanto, so solues para o sistema.
Um dos mtodos para determinarmos as solues utilizarmos os grcos das
equaes que compem o sistema e vericarmos se existe um ponto de interseco
comum s duas equaes. Embora esse mtodo parea simples, na prtica, nem
sempre vivel, quando as equaes so complicadas, ou para sistemas de ordens
superiores.

3.5.1 Mtodo do ponto xo


O primeiro mtodo iterativo que estudaremos para o caso de sistemas de
equaes no lineares o mtodo do ponto xo. O objetivo desse mtodo gerar
uma seqncia de pontos (pk , qk ), k = 1, 2, . . . que convirja para a soluo exata
(p, q).
Semelhantemente ao mtodo da iterao linear, podemos, com base na primeira equao de (3.11) gerada por f1 (x, y) = 0, resolv-la para a varivel x da
forma:

x=

x2 y + 0, 5
.
2

92

clculo numrico

Figura 3.1: Visualizao grca das razes.


Da segunda equao, gerada por f2 (x, y) = 0, podemos reescrev-la da forma:

x2 + 4y 2 8y 4 = 8y y =

x2 4y 2 + 8y + 4
.
8

Logo, essas duas novas equaes geram um sistema equivalente ao original.


Usando essas novas equaes, para escrever as relaes de iterao, temos:

x2k yk + 0.5
,
2
x2k 4yk2 + 8yk + 4
= u2 (xk , yk ) =
,
8

xk+1 = u1 (xk , yk ) =

(3.13)

yk+1

(3.14)

com k = 0, 1, . . .
Observando os grcos da Figura 3.1, vemos que uma das razes est prxima
do ponto (0, 2; 1) e a outra de (1, 8; 0, 3).
Se iniciarmos a iterao com a raiz inicial (x0 , y0 ) = (0, 1), vemos na Figura
3.2 a soluo para as iteraes k = 0, 1, 10. O leitor poder fazer a seqncia
completa e vericar que ela convergente para o valor de uma das razes que est
nessa vizinhana.

resoluo de sistemas de equaes algbricas

93

Figura 3.2: Aplicao do operador ITNL.


Seguindo o mesmo tipo de procedimento, podemos agora considerar a outra raiz, tomando como valor inicial (x0 , y0 ) = (2, 0). Usando o operador ITNL
denido, vemos, na Figura 3.3, que a seqncia de pontos obtidos no converge
para o valor da raiz.
Com base nesse resultado, inferimos que algo est errado e que as equaes
(3.13) e (3.14) no podem ser usadas para determinar a segunda raiz. O problema
reside no fato de que agora temos mais de uma varivel e a iterao que boa
ao longo de uma direo nem sempre adequada ao longo de outra direo. A
variao ao longo de uma direo passa a ser inuenciada pelas derivadas parciais.
Portanto, a existncia de um critrio de convergncia torna-se fundamental, para
que possamos garantir que o mtodo iterativo do ponto xo para sistemas no
lineares convirja para a soluo exata.

Denio 3.15 Para o sistema de equaes no lineares

(3.10), o mtodo da
iterao de ponto xo uma seqncia de pontos (p, q, r, . . .) denidos por:

pk+1 = g1 (pk , qk , rk , . . .)
qk+1 = g2 (pk , qk , rk , . . .)
rk+1 = g3 (pk , qk , rk , . . .)

..
.

..
.

(3.15)
(3.16)

94

clculo numrico

Figura 3.3: Aplicando o operador ITNL.

com k = 0, 1, 2, . . .
Vamos supor um sistema no linear de ordem dois. Sejam as funes g1 (x, y)
e g2 (x, y) contnuas e com derivadas parciais tambm contnuas na regio que
contm um ponto xo, e assumindo que o ponto inicial (p0 , q0 ) escolhido sucientemente prximo do ponto xo (p, q), temos:

Teorema 3.5 (Iterao do ponto xo) Se:






g1 (p, q)
g1 (p, q)




x + y < 1,




g2 (p, q)
g2 (p, q)




x + y < 1,

ento a iterao converge para o ponto xo (p, q).


Se o sistema for de ordem trs, o teorema estendido para:

95

resoluo de sistemas de equaes algbricas






g1 (p, q, r)
g1 (p, q, r) g1 (p, q, r)

+
+
< 1,





x
y
z






g2 (p, q, r)



+ g2 (p, q, r) + g2 (p, q, r) < 1,





x
y
z





g3 (p, q, r)




+ g3 (p, q, r) + g3 (p, q, r) < 1,






x
y
z
e a iterao converge para o ponto xo (p, q, r).
A condio de convergncia do mtodo do ponto xo pode ser estendida para
sistemas de ordens superiores, seguindo o mesmo procedimento.
Do clculo de funes de vrias variveis, podemos notar que as expresses
que envolvem as derivadas parciais esto relacionadas matriz do Jacobiano das
funes.

Denio 3.16 Sejam

fi (x1 , x2 , . . . , xn ), i = 1, . . . , n funes denidas sobre os


reais. O vetor gradiente para a funo fi (x) denido por:

fi (x) =

fi (x)
x1
fi (x)
x2

..
.

fi (x)
xn

Denio 3.17 A matriz Jacobiano das funes fi (x1 , x2 , . . . , xn ), i = 1, . . . , n

denida por:

f1 (x)T

f2 (x)T
J(x) =

..

.
fn (x)T

f1 (x)
x1
f2 (x)
x1

f1 (x)
x2
f2 (x)
x2

fn (x)
x1

fn (x)
x2

..
.

f1 (x)
xn
f2 (x)
xn

..
.

...

fn (x)
xn

O clculo do Jacobiano de um sistema simples, porm longo e tedioso. Em


geral, o clculo da matrix Jacobiano est implementado nos sistemas computao
algbrica. Note que a matriz Jacobiana no precisa ser quadrada.

Exerccio 3.5 Sejam as funes:

Waldir L.
Roque
96

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.com,
c=BR
Dados: 2013.08.09 12:41:17
-03'00'

clculo numrico

f1 (x, y) = x2 + y2 1,
f2 (x, y) = x3 y.

Determine o Jacobiano para as funes.

3.5.2 Mtodo de iterao no linear de Seidel


O mtodo proposto por Seidel um melhoramento do mtodo do ponto xo.
A idia semelhante do mtodo de iterao de Gauss-Seidel para sistemas
lineares.
Suponha que temos um sistema no linear formado por duas equaes e duas
variveis. O mtodo de Seidel utiliza a iterao xk+1 , para computar a iterao
de yk+1 . Isto :

xk+1 = u1 (xk , yk ), yk+1 = u2 (xk+1 , yk ).


Considerando o exemplo dado pelo sistema composto pelas equaes (3.13) e
(3.14), a aplicao do mtodo de iterao de Seidel, torna-se:

x2k yk + 0.5
,
2
x2k+1 4yk2 + 8yk + 4
= u2 (xk , yk ) =
,
8

xk+1 = u1 (xk , yk ) =

(3.17)

yk+1

(3.18)

com k = 0, 1, . . .
O mtodo de Seidel facilmente estendido para sistemas de ordem superior.

Exerccio 3.6 Implemente computacionalmente o mtodo de iterao de Seidel

e, em seguida, resolva o sistema do exemplo apresentado partindo da raiz inicial


(0, 1) e compare com o resultado, quando aplicado o mtodo de iterao do ponto
xo.
Para que o mtodo de iterao no linear de Seidel possa ser aplicado, o
critrio de convergncia dado no Teorema de iterao do ponto xo (3.5) deve ser
satisfeito.

Exerccio 3.7 Utilizando sua implementao do mtodo de iterao no linear


de Seidel, determine a raiz do sistema:

resoluo de sistemas de equaes algbricas

97

x3 + 4x + y
u1 (x, y) =
,
4
4y y2 x2
u2 (x, y) =

+ 1,
4
9

partindo do ponto inicial (1, 2; 1, 8). Em seguida, desenhe os grcos das curvas e verique o valor da inteseco. Observe que deve vericar o critrio de
convergncia.

3.5.3 Mtodo de Newton para sistemas


O mtodo de Newton para resoluo de equaes no lineares apresentado na
seo 2.11.3 tomou como princpio a expanso em srie de Taylor da funo f (x)
que gera a equao. Vimos que a raiz iterada determinada pela equao (2.68).
Seguindo um raciocnio anlogo, o mtodo de Newton-Raphson pode ser estendido para sistemas de equaes no lineares. Vamos inicialmente considerar
um sistema bastante simples de duas equaes com duas incgnitas dado por:

f1 (x, y) = 0,
f2 (x, y) = 0.
Supondo que uma soluo aproximada (xi , yi ) do sistema conhecida e a soluo
aproximada est sucientemente prxima da soluo exata (x , y ), ento as funes f1 e f2 no ponto (x , y ) podem ser expressas em termos da srie de Taylor
das funes f1 (x, y) e f2 (x, y) em torno do ponto (xi , yi ), da forma:

f1
f1

(xi ,yi ) + (y yi )
(x ,y ) + (3.19)
x
y i i
f2
f2

f2 (x , y ) = f2 (xi , yi ) + (x xi )
(xi ,yi ) + (y yi )
(x ,y ) + (3.20)
x
y i i

f1 (x , y ) = f1 (xi , yi ) + (x xi )

Como estamos considerando que (x , y ) soluo, ento f1 (x , y ) = 0 e


f2 (x , y ) = 0, e desprezando os termos de ordens superiores, temos

f1
f1
(xi ,yi ) xi +
(x ,y ) yi = f1 (xi , yi )
x
y i i
f2
f2
(xi ,yi ) xi +
(x ,y ) yi = f2 (xi , yi ),
x
y i i

(3.21)
(3.22)

98

clculo numrico

onde denimos xi = x xi e yi = y yi , respectivamente. As equaes


acima podem ser expressas na forma matricial

( f1
)(
)
(
)
(x ,y ) f1 (x ,y )
xi
f1 (xi , yi )
i i
i i
x
y


=
,
(3.23)
f2
f2
yi
f2 (xi , yi )
x (xi ,yi )
y (xi ,yi )
ou equivalentemente,

J(x(i) )x(i) = f (x(i) ).

(3.24)

O sistema de equaes (3.23) um sistema linear para a determinao de xi


e yi . Observe que a matriz quadrada J(x(i) ) em (3.24) corresponde matriz
Jacobiano das funes f1 e f2 . O sistema (3.24) pode ser resolvido utilizando,
por exemplo, a regra de Cramer, que resulta em

xi =

yi =

i ,yi )
i ,yi )
+ f2 (xi , yi ) f1 (x
f1 (xi , yi ) f2 (x
y
y

J(f1 (xi , yi ), f2 (xi , yi ))

i ,yi )
i ,yi )
+ f1 (xi , yi ) f2 (x
f2 (xi , yi ) f1 (x
x
x
,
J(f1 (xi , yi ), f2 (xi , yi ))

(3.25)
(3.26)

onde J(f1 (xi , yi ), f2 (xi , yi )) o determinante da matriz Jacobiano.


Uma vez obtida a soluo desse sistema podemos obter a nova soluo aproximada

xi+1 = xi + xi ,
yi+1 = yi + yi .

(3.27)
(3.28)

Partindo de uma estimativa inicial (x0 , y0 ) o sistema de equaes (3.23) deve


ser iterado at que se alcance uma tolerncia desejada |xi | x e |yi | y ou
|f1 (xi+1 , yi+1 )| f1 e |f2 (xi+1 , yi+1 )| f2 .
A tcnica de expanso em srie de Taylor pode ser aplicada para o caso de
sistemas no lineares de ordens superiores, ou seja, dado o sistema

f1 (x1 , x2 , , xn ) = 0,
f2 (x1 , x2 , , xn ) = 0,
..
.
fn (x1 , x2 , , xn ) = 0,
ou de forma compacta matricial,

99

resoluo de sistemas de equaes algbricas

(3.29)

f (x) = 0.
(k)

(k)

(k)

Para isso, seja x(k) = (x1 , x2 , . . . , xn ) uma aproximao da soluo do


sistema. Ento, seguindo analogamente a expanso em srie de Taylor para vrias
variveis, teremos:

(J(k) )(x(k+1) x(k) ) = f (k) ,

(3.30)

onde k corresponde ao nmero de iteraes, J(k) a matriz do Jacobiano do


sistema e f (k) a matriz coluna das equaes, ambas calculadas para o valor da
k -sima soluo iterada x(k) .
Em geral, a forma da equao (3.30) prefervel forma

x(k+1) = x(k) (J(k) )1 f (k) ,

(3.31)

uma vez que o clculo da inversa de uma matriz possui um custo computacional
elevado.
O critrio de garantia da convergncia do mtodo de Newton requer um detalhamento que est alm do escopo do presente texto; no entanto, pode-se garantir que o mtodo convergente desde que a estimativa inicial x(0) seja tal
que x(0) p < , onde p corresponde soluo exata e seja um nmero
bem pequeno [Burden, 03]. Em outras palavras, que a estimativa inicial esteja
na vizinhana da soluo exata, alm da necessidade de que as funes fi sejam
contnuas e limitadas na vizinhana de p e que o Jacobiano seja no-nulo na
vizinhana de p.

Exemplo 3.6 Seja o sistema:


x2 2x y + 0, 5 = 0
x2 + 4y2 4 = 0.

Usando o mtodo de Newton,


vamos
determinar a raiz para uma iterao partindo
(
)
da raiz inicial x(0) =

2, 0
0, 25

. Para isso, identicamos o vetor das funes e a

correspondente matriz do Jacobiano:


(
f (x) =

x2 2x y + 0, 5
x2 + 4y2 4

(
, J(x) =

2x 2 1
2x
8y

)
.

Calculando os valores das matrizes no ponto (2, 0; 0, 25), temos:


(
f (2, 0; 0, 25) =

0, 25
0, 25

(
, J(2, 0; 0, 25) =

2, 0 1, 0
4, 0 2, 0

)
.

100

clculo numrico

Usando a equao (3.30), temos o sistema:


(

2, 0 1, 0
4, 0 2, 0

)(

x
y

(
=

0, 25
0, 25

)
.

Resolvendo o sistema, obtemos:


(
x =

x
y

(
=

0, 09375
0, 0625

Logo, o valor da primeira iterao determinado por:


(
x

(1)

=x

(0)

+ x =

2, 0
0, 25

(
+

0, 09375
0, 0625

(
=

1, 9625
0, 3125

)
.

Seguindo o mesmo procedimento, podemos obter as novas iteraes.

Exerccio 3.8 Implemente o mtodo de Newton para sistemas e em seguida determine a soluo do sistema do exemplo apresentado para cinco iteraes.

3.6 Exerccios propostos


1. Mostre que no processo de substituio retroativa o nmero de operaes
2
2
de adio (subtrao) n 2n , de multiplicao n 2n e de diviso n, onde
n corresponde ordem
do sistema. Sugesto: verique com o Derive o
resultado da soma nk=1 k .
2. Para os sistemas a seguir, encontre o sistema triangular superior equivalente
e determine a soluo.
a)

2x + 4y 6z = 4
x + 5y + 3z = 10
x + 3y + 2z = 5
b)

5x + 2y z = 1
x + 3z = 5
3x + y + 6z = 17

resoluo de sistemas de equaes algbricas

101

c)

0, 8x + 1, 4y + 3z = 12, 6
0, 6x + 0, 9y + 2, 8z = 10, 8
2x + y = 4
d)

x + 4y 2z + 2w
2x + 3y + z + 3w
x + 5y 5z 3w
2x + 4y 4z

=
=
=
=

8
8
18
12

3. Utilize o mtodo da pivotizao completa para determinar a soluo dos


sistemas do exerccio anterior.
4. Seja U a matriz de um sistema triangular superior. Se para algum i tivermos
uii = 0, mostre que o sistema U x = b ou no ter soluo, ou ter muitas
solues. Qual a condio para que o sistema possua soluo nica, nesse
caso?
5. Seja a matriz dos coecientes de um sistema dada pelos elementos:

aij = ij1 , 1 i, j 6.
Verique se esse sistema mal-condicionado.
6. Qual o nmero de operaes necessrias no mtodo direto de Gauss?
7. Sejam os sistemas de equaes algbricas lineares a seguir. Utilize os mtodos iterativos vistos neste captulo para determinar a soluo para dez
iteraes.
a)

x1 5x2 = 9
4x1 x2 = 15
b)

2x1 + 8x2 x3 = 11
5x1 x2 + x3 = 10
x1 + x2 + 4x3 = 3

102

clculo numrico

8. Use o mtodo iterativo de Gauss-Seidel para resolver o sistema [Mathews,


87]:

12x1 2x2 + x3
2x1 + 12x2 2x3 + x4
x1 2x2 + 12x3 2x4 + x5
x2 2x3 + 12x4 2x5 + x6
..
.

=
=
=
=

5
5
5
5
..
.

x46 2x47 + 12x48 2x49 + x50 = 5


x47 2x48 + 12x49 2x50 = 5
x48 2x49 + 12x50 = 5
9. Determine as solues dos sistemas no lineares usando os mtodos apresentados neste captulo, considerando seis iteraes.
a)

y x3 + 3x2 + 3x
x =
4
y 2 + 2y x 2
y =
2
partindo de (0, 3; 1, 3).
b)

sen (xy) y = x
y cos (xy) = 1,
partindo do ponto (1, 2).
c)

y 2 + x2 2 = 0
x2 y = 0
partindo de (0, 8; 0, 8) e de (1, 3; 0, 8).
10. Use o mtodo de Newton-Raphson para resolver os sistemas:
a)

2y 2 3x2 + 1 = 0
x2 + 2x 2y + 8 = 0

resoluo de sistemas de equaes algbricas

partindo de (2, 5; 3, 0) e (1, 6; 1, 6).


b)

x + ey = 68, 0742
sen x y = 3, 5942
partindo de (2, 5; 4, 0).
c)

4x21 + 2x22 + x3 = 16
(x1 1)2 + x2 x3 = 0
(x1 + 1)2 + (x2 + 1)2 x3 = 0
com uma tolerncia de 0, 001.
d)

sen x + ln x + ln y ez = 1, 87
cos x + sen y + ez = 39, 94
ln x ey + sen z = 13, 10
com uma tolerncia de 0, 001.

103

104

clculo numrico

Captulo 4
APROXIMAO DE
AUTOVALORES

No Captulo 3 apresentamos algumas tcnicas para a resoluo de sistemas de


equaes algbricas lineares e no lineares. Naquela ocasio utilizamos o conceito
de matrizes para simplicar as manipulaes, assumindo que o leitor j possuia
uma noo bsica sobre lgebra matricial.

4.1 Autovalores e autovetores


No Captulo 3 vimos que um sistema de equaes algbricas lineares pode ser
escrito da forma matrical como Ax = B. Para que este sistema tenha soluo
nica, necessrio que det(A) = 0. Suponha que a matriz B seja dada por x,
onde um escalar. Temos ento a equao,

Ax = x,

(4.1)

Ax x = 0,

(4.2)

(A I)x = 0,

(4.3)

que pode ser reescrita sob a forma,

ou ainda, da forma,

onde I a matriz identidade.


Agora, a equao (4.3) uma equao homognea, e vimos que para termos
uma soluo no trivial, devemos ter o det(A I) = 0.

Denio 4.1 Seja


denido por

A uma matriz quadrada de dimenso n n. O polinmio


Waldir L.
Roque

Assinado de forma digital por


Waldir L. Roque
DN: cn=Waldir L. Roque, o, ou,
email=wlroque@gmail.com,
c=BR
Dados: 2013.08.09 12:41:55
-03'00'

106

clculo numrico

p() = det(A I),

(4.4)

denominado o polinmio caracterstico de A.


fcil vericar que o polinmio caracterstico um polinmio de grau mximo
n, e portanto, possui n razes.

Denio 4.2 As razes do polinmio caracterstico so denominadas autovalo-

res da matriz A. Se um autovalor de A e se (A I)x = 0 para x = 0, ento


o vetor x denominado um autovetor da matriz A associado ao autovalor .

Como as raizes de um polinmio podem ser reais ou complexas e com ou sem


multiplicidades, os n autovalores de uma matriz Ann seguem da mesma forma.

Exemplo 4.1 Seja a matriz

10 0
0
A = 1 3 7
0 1
3

Determine os autovalores da matriz A.


Soluo: De acordo com a equao (4.4) o polinmio caraterstico dado por;
p() = (10 )(2 2) = 0,

cujas solues so: 1 = 10, 2 = 2 e 3 = 2.


A determinao de autovalores de matrizes de ordens superiores a trs se
torna mais complicado uma vez que as solues exatas de um polinmio de ordem elevada no simples. Entretanto, existem alguns mtodos numricos que
permitem uma soluo aproximada dos autovalores. As tcnicas para obteno
dos autovalores de uma matriz so classicadas como diretas ou indiretas. As
tcnicas diretas permitem determinar os autovalores aps um nmero nito de
operaes enquanto as tcnicas indiretas so tcnicas de aproximao iterativas.
Os mtodos diretos no sero discutidos aqui. O mtodo da potncia um mtodo iterativo simples para usado para determinar o maior autovalor real, em
termo absoluto, e o seu correspondente autovetor. O mtodo QR um dos mais
importantes na determinao de autovalores aproximados.

107

aproximao de autovalores

4.1.1 Mtodo da potncia


Seja uma matriz Ann com n autovalores reais e distintos, digamos 1 , 2 , , n
e os correspondentes n autovetores linearmente independentes x1 , x2 , , xn . Vamos considerar que os valores absolutos dos autovalores so tais que |1 | > |2 >
, |n |. Como os autovetores so linearmente independentes, portanto geram um
espao vetorial n-dimensional, um vetor arbitrrio qualquer neste espao pode ser
escrito em termos de uma combinao linear dos autovetores. Logo,

x = c1 x1 + c2 x2 + + cn xn =

(4.5)

ci xi ,

i=1

onde os escalares ci = 0 so constantes. Multiplicando a equao (4.5) pela


matriz A, A2 , , Ak , onde aqui o expoente signica a multiplicao repetida
da matriz, e lembrando que temos a condio Axi = i xi , obtemos:

Ax =

(4.6)

ci Axi = ci i xi = y(1) ,

i=1
2

A x = Ay

(1)

ci i Axi = ci 2i xi = y(2) ,

(4.7)

ci k1
Axi = ci ki xi = y(k) .
i

(4.8)

i=1

..
.
k

A x = Ay

(k1)

i=1

Fatorando o termo k1 da equao (4.8), obtemos


k

A x=

k1

i=1

(
ci

i
1

)k
(4.9)

xi = y(k) .

Entretanto, como |1 | > |i |, para i = 2, 3, , n, a razo

k , e portanto a equao (4.9) tende ao limite


Ak x = k1 c1 x1 = y(k) .

( )k
i
1

0 quando

(4.10)

Podemos notar que a equao (4.10) tende a zero quando |1 | < 1 e tende a
innito quando |1 | > 1. Logo, devemos fazer um ajuste de escala em cada passo
na equao (4.10).
O ajuste de escala pode ser obtido fazendo qualquer componente do vetor y(k)
igual a um a cada passo no processo. Vamos escolher a primeira componente do

108

clculo numrico

(k)

vetor y(k) , ou seja y1 , como esta componente. Logo, x1 = 1, 0 e a primeira


componente da equao (4.10) ca
(k)

(4.11)

y1 = k1 c1 .
Considerando a equao (4.10) de k para k + 1, obtemos
(k+1)

y1

= k+1
1 c1 .

(4.12)

Calculando a razo entre as equaes (4.12) e (4.11), resulta em


(k+1)

y1

(k)

y1
(k)

k+1
c1
= 1k
= c1 .
1 c1

(k+1)

(4.13)

(k+1)

Portanto, se y1 = 1, ento y1
= 1 . Se y1
for ajustado por 1 de modo
(k+1)
(k+2)
que y1
= 1, ento y1
= 1 , e assim por diante. Consequentemente, ajustar
uma componente particular de um vetor y a cada iterao essencialmente fatora
1 do vetor y de forma que a equao (4.10) converge para um valor nito. No
limite quando k , o fator de escala tende a 1 e o vetor y ajustado por escala
tende ao autovetor x1 .
Embora o mtodo da potncia seja um mtodo interessante, a sua aplicao
deve observar os seguintes requisitos: i) o maior autovalor deve ser distinto, ii) os
(0)
n autovetores devem ser linearmente independentes, iii) a estimativa inicial xi
deve conter alguma componente do autovetor xi , de modo que ci = 0, e iv) a taxa
de convergncia deve ser proporcional razo |i |/|i1 |, onde i o autovalor
de maior magnitude e i1 o segundo autovalor de maior magnitude.

Exemplo 4.2 Determine o autovalor aproximado da matriz usando o mtodo da


potncia.

4 2 2
A = 2 8 1
1 4 4

Soluo: A equao caracterstica de A p() = 3 + 82 + 18 98, cujas


razes so 1 8, 7787; 2 2, 9743; 3 3, 7531. Em termos absolutos e em
ordem decrescente temos |1 | > |3 | > |2 |. Aplicando o mtodo da potncia
considerando uma norma x = maxi |xi | e considerando como vetor inicial

x(0)

temos:

1
= 1 ,
1

aproximao de autovalores

y(1) = Ax(0)

4 2 2
1
8
0, 8888

1
= 2 8 1 1 = 9 = 9
1 4 4
1
1
0, 1111

109

(4.14)

(1)

y(2) = A

y
y(1)

4 2 2
0, 8888
5, 7777
= 9, 6666
1
= 2 8 1

1 4 4
0, 1111
4, 4444

0, 5977

1
= 9, 6666
(4.15)
0, 4598

5, 3104
0, 5977
4 2 2
= 8, 7356
1
= 2 8 1

2, 7585
0, 4598
1 4 4

0, 6064

1
(4.16)
= 8, 7356
0, 3158

(2)

y(3) = A

y
y(2)

Se continuarmos, obteremos uma sequncia dada por


{9, 0; 9, 6666; 8, 7356; 8, 9000; 8, 7620; 8, 7977; },

o que mostra a convergncia para |1 |, o maior autovalor em termos absolutos


da matriz
o auvalor 1 8, 7356, o autovetor associado

A. Considerando
x1

0, 6064
.
1
0, 3158

110

clculo numrico

Captulo 5
INTERPOLAO

Neste captulo, vamos estudar algumas tcnicas que permitem determinar, de


forma aproximada, uma funo que descreve o comportamento de outra funo
que no se conhece, mas que tem valores tabelados do tipo (xi , f (xi )),
i = 0, 1, . . . , n.
Vamos supor que, por meio de um experimento fsico ou outro qualquer, temos
uma tabela da forma:

i xi
0 x0
1 x1
.. ..
. .
n xn

yi
y0
y1
..
.
yn

Uma questo que surge , ento, como poderemos estimar o valor da funo
que gerou a tabela, digamos y = f (x), para um dado valor de x = xi ? O problema
consiste em determinar uma funo g(x) tal que g(x) seja uma aproximao para
a funo desconhecida f (x) que deu origem tabela.
Duas situaes podem ocorrer:

O valor x tal que x [x0 , xn ]. Em outras palavras, o valor de x est no


intervalo de pontos dados na tabela.
O valor de x tal que x pode estar dentro ou fora do intervalo dado pela
tabela.
No primeiro caso, os mtodos a serem empregados constituem o que chamamos
de interpolao. No segundo caso, devemos utilizar os mtodos que permitem
fazer uma extrapolao .
Neste captulo, estaremos interessados nos mtodos de interpolao.
Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:42:37 -03'00'

112

clculo numrico

Figura 5.1: A funo g(x) uma aproximao para f(x) no intervalo [a, b].
Suponha que temos a situao ilustrada na Figura 5.1:
Na Figura 5.1, a funo g(x) pode ser considerada uma aproximao para a
funo f (x). Observe que temos:

g(a) = f (a), g(b) = f (b)

(5.1)

Figura 5.2: Vrias aproximaes para a funo f(x) em torno da origem.


Na Figura 5.2, vrias funes podem ser tomadas com uma aproximao para
a funo f (x). H vrias formas de escolher a funo g(x) que satisfaz condio
(5.1). possvel escolhermos funes g(x) da forma polinomial, trigonomtrica,
exponencial, logartmica, funo racional etc. Neste captulo, consideraremos
apenas o estudo de mtodos de interpolao polinomial. Isto , a escolha da
funo g(x) polinomial de grau n a ser determinada de acordo com informaes
da tabela.

113

interpolao

Denio 5.1 Um polinmio sobre os reais uma funo da forma:


a0 + a1 x + a2 x2 + . . . + an xn ,

onde ai , e n o grau do polinmio.

Exemplo 5.1 Um polinmio de grau zero uma funo constante.


P0 (x) = a0

Exemplo 5.2 Um polinmio de grau um uma reta:


P1 (x) = a1 x + a0

5.1 Interpolao linear


A interpolao linear a mais simples forma de interpolao polinomial e
consiste em aproximar a funo tabelada por meio de um polinmio de grau um,
ou seja, por retas. A Figura 5.3 ilustra a situao.

Figura 5.3: Interpolao por retas.


Sejam p1 = (x0 , y0 ) e p2 = (x1 , x2 ) dois pontos de uma funo y = f (x).
Desejamos calcular o valor de y para um valor de x = x tal que x (x0 , x1 ).

Teorema 5.1 Sejam os pontos (xi , yi ), xi = xj , i = j, i, j = 0, . . . , n, ento existe

um nico polinmio P(x) de grau n tal que a condio


P(xi ) = yi , i = 0, . . . , n

satisfeita.

114

clculo numrico

Em outras palavras, o Teorema 5.1 diz que o polinmio interpolador obtido a


partir de uma tabela que contm (n+1)-pontos possui grau mximo n. Assim, no
caso de dois pontos tabelados (x0 , y0 ), (x1 , y1 ), o polinmio interpolador deve ser
de grau mximo um, n = 1. Isto , P1 (x) = a1 x + a0 , que representa a equao
de uma reta.
Para determinarmos o polinmio interpolador P1 (x), devemos determinar os
coecientes a0 e a1 . Temos ento que, pela propriedade expressa no Teorema 5.1,

P1 (x0 ) = a0 + a1 x0 = y0 ,

(5.2)

P1 (x1 ) = a0 + a1 x1 = y1 .

(5.3)

Temos aqui um sistema de duas equaes e duas incgnitas. A matriz dos


coecientes dada por:

(
A=

1 x0
1 x1

)
(5.4)

Para que a soluo do sistema seja nica, devemos ter que det(A) = 0
x0 = x1 .

Exemplo 5.3 Suponha a funo f(x) tal que conhecemos apenas os pontos (0, 00;
1, 35), (1, 00; 2, 94). Determinar o valor de f(0, 73).

Soluo: Usaremos a interpolao linear. O sistema de equaes algbricas a


ser resolvido :
(

1, 00 0, 00
1, 00 1, 00

) (

a0
a1

(
=

1, 35
2, 94

)
(5.5)

Resolvendo o sistema, obtemos:


P1 (x) = 1, 35 + 1, 59x.

Portanto, o valor interpolado para x = 0, 73 P1 (0, 73) = 1, 35 + 1, 59 0, 73 =


2, 5107.
Nessa interpolao, estamos sujeitos a dois tipos de erros: (i) erros devidos
ao truncamento, ET , e (ii) erros devidos a arredondamentos, EA , os quais sero
discutidos mais adiante.

115

interpolao

5.2 Interpolao quadrtica


A interpolao quadrtica aplica-se quando conhecemos uma tabela que contm trs pontos distintos. De acordo com o Teorema 5.1 mencionado anteriormente, o polinmio interpolador ser de grau mximo dois. Em outras palavras,
a funo da tabela ser aproximada por uma parbola.
Nesse caso, o problema consiste em determinarmos os coecientes do polinmio
(5.6)

P2 (x) = a2 x2 + a1 x + a0 .

Sejam os pontos da tabela dados por (x0 , y0 ), (x1 , y1 ), (x2 , y2 ). Assim, do Teorema 5.1 temos:
(5.7)
(5.8)
(5.9)

a0 + a1 x0 + a2 x20 = y0 ,
a0 + a1 x1 + a2 x21 = y1 ,
a0 + a1 x2 + a2 x22 = y2 .
A matriz dos coecientes para esse sistema dada por:

1 x0 x20
A = 1 x1 x21 .
1 x2 x22

(5.10)

O determinante da matriz (5.10) resulta em (x0 x1 )(x0 x2 )(x1 x2 ) e,


portanto, para que o determinante no seja nulo, devemos ter que xi = xj , i =
j, i, j = 1, 2, 3. Isso signica que os valores das abscissas na tabela devem ser distintos. Assim, o sistema possui soluo nica, e os coecientes so determinados,
gerando o polinmio interpolador (5.6).

Exemplo 5.4 Sejam os pontos da tabela:

{(0, 0), (/6; 0, 328), (/4; 0, 560)}. De-

termine o polinmio interpolador para os pontos dados.


Soluo: Escrevendo o sistema de equaes algbricas, temos:

0, 000
1 0
0
a0
1 /6 (/6)2 a1 = 0, 328 .
a2
1 /4 (/4)2
0, 560

Resolver o sistema (5.11) temos: a0 = 0, a1 =


polinmio interpolador dado
P2 (x) =

178
, a2
125

178
408 2
x+
x.
125
125 2

408
.
125 2

(5.11)

Portanto, o

116

clculo numrico

5.3 Existncia e unicidade do polinmio interpolador


Seja uma tabela contendo (n + 1) pontos (xi , yi ), i = 0, . . . , n. Do Teorema
5.1, o polinmio interpolador ser um polinmio de ordem mxima n,

Pn (x) = a0 + a1 x + . . . + an xn .
Para determinar o polinmio Pn (x) para os pontos da tabela, preciso determinar os coecientes ai , i = 0, . . . , n. Para isso, sabemos que a condio de
interpolao deve ser satisfeita,

Pn (xi ) = yi , i = 0, . . . , n.
Tais condies conduzem ao sistema de equaes algbricas lineares nas variveis ai , i = 0, . . . , n

a0 + a1 x0 + a2 x20 + . . . + an xn0 = y0 ,
a0 + a1 x1 + a2 x21 + . . . + an xn1 = y1 ,
..
..
.
.
a0 + a1 xn + a2 x2n + . . . + an xnn = yn .

(5.12)

O sistema formado por (n + 1) equaes nas n + 1 variveis ai . A matriz


dos coecientes dada por

A=

1 x0 x20 . . . xn0
1 x1 x21 . . . xn1

.. ..
..
..
.. .
. .
.
.
.
2
1 xn xn . . . xnn

(5.13)

A matriz (5.13) conhecida como matriz de Vandermonde, cujo determinante


dado por:

DET (A) =

(xi xj ) = 0 xi = xj , i = j.

(5.14)

i>j

Logo, se as abscissas da tabela so todas distintas, ento o sistema possui


soluo nica. Assim, existe um nico polinmio interpolador Pn (x), de tal forma
que Pn (xi ) = yi , com i = 0, . . . , n.

117

interpolao

5.4 Interpolao de Lagrange


As interpolaes vistas anteriormente (linear e quadrtica) so casos particulares da interpolao de Lagrange.
Consideremos uma tabela contendo (n+1) pontos distintos x0 , x1 , . . . , xn , xi =
xj , i = j , tais que yi = f (xi ), i, i = 0, . . . , n.
Sejam os (n + 1) polinmios de grau n dados da forma:

p0 (x) = (x x1 )(x x2 ) . . . (x xn ),
p1 (x) = (x x0 )(x x2 ) . . . (x xn ),
..
.
pn (x) = (x x0 )(x x1 ) . . . (x xn1 ).

(5.15)
(5.16)
(5.17)

Podemos reescrever os polinmios apresentados como:

pi (x) =

(x xj ), i = 0, . . . , n.

(5.18)

j=0,j=i

Os polinmios dados na equao (5.18) possuem as seguintes propriedades:

pi (xi ) = 0, i
pi (xj ) = 0, i = j.

(5.19)
(5.20)

Os polinmios dados em (5.18) so chamados de Polinmios de Lagrange.

Exerccio 5.1 Escreva um programa eciente e compacto para determinar os

polinmios de Lagrange.

Como desejamos encontrar o polinmio interpolador Pn (x) que satisfaz condio Pn (xi ) = yi , vamos considerar uma combinao linear dos polinmios de
Lagrange,

Pn (x) =

bi pi (x).

(5.21)

i=o

Devemos ento determinar os coecientes bi . Tomando o ponto (xk , yk ), temos

Pn (xk ) = b0 p0 (xk ) + b1 p1 (xk ) + . . . + bk pk (xk ) + . . . + bn pn (xk ),


utilizando as propriedades, obtemos:

(5.22)

118

clculo numrico

Pn (xk ) = bk pk (xk ) bk =

Pn (xk )
.
pk (xk )

(5.23)

Por outro lado, sabemos que Pn (xk ) = yk , e substituindo em (5.23), temos

yk
,
pk (xk )

bk =

(5.24)

que, substituindo na expresso de Pn (x), ca

Pn (x) =

i=0

pi (x)
yi
pi (x) =
yi
.
pi (xi )
p
(x
)
i
i
i=0
n

(5.25)

Agora, podemos escrever a expresso do polinmio interpolador de Lagrange


da forma

Pn (x) =

yi

i=0

j=0,j=i

(x xj )
.
(xi xj )

(5.26)

Se denirmos

Li (x) =

j=0,j=i

(x xj )
,
(xi xj )

(5.27)

vemos que Li (xi ) = 1 e Li (xj ) = 0, i = j . O polinmio de Lagrange (5.26)


torna-se

Pn (x) =

yi Li (x).

(5.28)

i=0

Exerccio 5.2 Implemente computacionalmente o mtodo de interpolao de Lagrange; em seguida, encontre o polinmio interpolador de Lagrange para os pontos
da tabela abaixo, e determine o valor P3 (0, 3).
xi 0, 0 0, 2
0, 4
0, 5
yi 0, 0 2, 008 4, 064 5, 125

(5.29)

5.5 Erros de truncamento


Como mencionado anteriormente, dois tipos de erros surgem quando aproximamos uma funo f (x) por um polinmio Pn (x), a saber: (i) erros de truncamento e (ii) erros de arredondamento.

119

interpolao

A Figura 5.4 a seguir ilustra a aproximao de uma funo f (x), denida em


um intervalo [a, b], por um polinmio. Vemos que o polinmio aproxima-se da
funo f (x) no intervalo.
Veja que Pn (a) = f (a), Pn (b) = f (b), Pn (c) = f (c). Todavia, em x0 temos que

| ET (x0 ) |=| f (x0 ) Pn (x0 ) | .

(5.30)

fcil vermos que ET de fato uma funo que depende do ponto x considerado.

ET (x = a) = f (a) Pn (a) = 0,

(5.31)

ET (x = b) = f (b) Pn (b) = 0,

(5.32)

ET (x = c) = f (c) Pn (c) = 0,

(5.33)

ET (x) = f (x) Pn (x).

(5.34)

O erro de truncamento nulo nos pontos onde o polinmio coincide com o


valor da funo. Observando a ilustrao, podemos ver que o erro ET (x) uma
funo que deve depender da concavidade da funo f (x). A concavidade de uma
funo medida por meio de sua derivada segunda f (x).

Figura 5.4: Erro de truncamento pela aproximao de uma funo por um

polinmio.

120

clculo numrico

5.5.1 Erro de truncamento na interpolao linear


A interpolao linear obtida de dois pares de pontos (x0 , y0 ), (x1 , y1 ). Vamos
ento supor a seguinte expresso para o erro de truncamento:

ET (x) = (x x0 )(x x1 )A,

(5.35)

onde A uma constante a ser determinada.


Veja que ET (x0 ) = ET (x1 ) = 0. Para obtermos a expresso de A, consideremos a seguinte funo auxiliar

G(t) = f (t) P1 (t) ET (t), t [x0 , x1 ].

(5.36)

Como P1 (t) = a1 t + a0 e ET (t) = (t x0 )(t x1 )A, temos que

G(t) = f (t) (a0 + a1 t) (t x0 )(t x1 )A.

(5.37)

Teorema 5.2 (Teorema de Rolle) Seja f uma funo contnua em um intervalo [a, b] e derivvel no intervalo (a, b), tal que f(a) = f(b). Ento, existe pelo
menos um valor (a, b) tal que f () = 0.

Utilizando o teorema de Rolle na funo G(t), pois temos que G(t = x0 ) =


G(t = x1 ) = G(t = x ), devem existir valores 1 e 2 tais que 1 (x0 , x ) e
2 (x , x1 ) com G (1 ) = G (2 ) = 0.
Se aplicarmos novamente o teorema de Rolle funo G (t), teremos que
(1 , 2 ), tal que G () = 0, com (x0 , x1 ).
Derivando-se G(t) duas vezes, temos G (t) = f (t) 2A. Para t = obtemos
G () = f () 2A = 0 que implica:

f ()
.
2
Voltando e substituindo o valor de A na expresso de E(t), temos:
A=

(5.38)

1
(5.39)
ET (x) = (x x0 )(x x1 )f (), (a, b).
2
Da equao (5.39), vemos que o erro de truncamento da interpolao polinomial linear uma funo quadrtica na varivel x.

Exemplo 5.5 Seja f(x) = sen(x). Determinar o valor aproximado de f(/2)


a partir dos pontos (1, 00; 0, 84), (2, 00; 0, 91). Em seguida, determine o erro de
truncamento.
Soluo: Nesse caso, o polinmio interpolador linear encontrado
P1 (x) = 0, 07x + 0, 77 p(/2) = 0, 88.

121

interpolao

O erro de truncamento ca:


ET (x) = (x 1, 00)(x 2, 00)

f ()
, (1, 00; 2, 00).
2

Temos que f (x) = cos x, f (x) = sen x. Como no sabemos o valor de


, podemos tom-lo como o valor que maximiza a funo f (x) no intervalo
(1, 00; 2, 00). Nesse caso, tem-se = /2, e ento |f (/2)| = 1. Assim, a
quota mxima para o erro de truncamento :
|ET (/2)| |(/2 1)(/2 2)|

1
= 0, 12,
2

ou ainda,
0, 12 ET (/2) 0, 12.

Exerccio 5.3 Seja f(x) = x2 3x + 1 e x1 = 1, 0, x2 = 1, 5. Determine o valor


de f(1, 2) e o erro de truncamento.

5.5.2 Erro de truncamento na interpolao quadrtica


O processo utilizado na interpolao linear pode ser estendido para o caso da
interpolao quadrtica. Temos aqui que

ET (x) = f (x) P2 (x).


P2 (x) o polinmio interpolador. Considerando agora
ET (x) = (x x0 )(x x1 )(x x2 )A,

(5.40)

e a funo auxiliar

G(t) = f (t) P2 (t) ET (t)


= f (t) (a2 t2 + a1 t + a0 ) (t x0 )(t x1 )(t x2 )A,
(5.41)
usando o teorema de Rolle, temos que

122

clculo numrico

1 (x0 , x ) ; G (1 ) = 0,
2 (x , x1 ) ; G (2 ) = 0,
3 (x1 , x2 ) ; G (3 ) = 0,
4 (1 , 2 ) ; G (4 ) = 0,
5 (2 , 3 ) ; G (5 ) = 0.
Por m, temos que

(4 , 5 ); G () = 0, (x0 , x2 ).

(5.42)

Derivando trs vezes a funo G(t), obtemos

G (t) = f (t) 6A = 0 G () = f () 6A = 0.

(5.43)

Logo:

f ()
A=
.
6
Substituindo na expresso do erro, obtemos:

(5.44)

f ()
ET (x) = (x x0 )(x x1 )(x x2 )
.
(5.45)
3!
Observe que o erro depende da derivada terceira da funo. Assim, para
polinmios de ordem n < 3 a interpolao exata.

5.5.3 Erro de truncamento na interpolao de Lagrange


Na interpolao de Lagrange, tomamos:

ET (x) = (x x0 )(x x1 ) . . . (x xn )A.

(5.46)

Considerando a funo auxiliar

G(t) = f (t) Pn (t) ET (t),

(5.47)

e utilizando o teorema de Rolle sucessivas vezes, pois G(t) = 0, para t =


x0 , x1 , . . . , xn , e derivando G(t) (n + 1) vezes, vem que

Gn+1 (t) = f n+1 (t) (n + 1)! A.

(5.48)

123

interpolao

No entanto, para t = temos Gn+1 () = 0. Logo, conclumos que o valor de


A

A=

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

(5.49)

e a expresso do erro de truncamento ca

ET (x) = (x x0 )(x x1 ) . . . (x xn )

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

(5.50)

onde (x0 , xn ).
Observe que o grau da funo ET (x) da ordem de (n + 1) para um polinmio
interpolador de grau n.

Exerccio 5.4 Seja a funo

f(x) = ln(x) e os valores f(3) = 1, 0986, f(4) =


1, 3863. Determine o erro de truncamento para x = 3, 7.

Exerccio 5.5 Implemente computacionalmente o erro de truncamento para o

mtodo de interpolao de Lagrange.

5.6 Interpolao de Newton


No clculo diferencial, se f uma funo contnua em um intervalo [a, b], a
derivada primeira da funo f no ponto x0 [a, b] obtida tomando-se o limite
da razo incremental, ou seja:

f (x0 ) = lim

xx0

f (x) f (x0 )
.
x x0

(5.51)

Denio 5.2 Dene-se a diferena dividida de primeira ordem de uma funo


f como:

f[x, x0 ] =

f(x) f(x0 )
.
x x0

Denota-se a diferena dividida por meio de um dos smbolos: f [ ], [ ], ou y .


Fazendo x = x1 , temos a diferena dividida de primeira ordem em relao aos
argumentos x1 e x0 .

y0 = f [x1 , x0 ] =
Como:

f (x1 ) f (x0 )
.
x1 x0

124

clculo numrico

f (x1 ) f (x0 )
f (x0 ) f (x1 )
=
,
x1 x0
x0 x1
conclumos que:

f [x1 , x0 ] = f [x0 , x1 ],
isto , a diferena dividida de primeira ordem simtrica. Em geral, temos:

yi = f [xi , xi+1 ] =

f (xi+1 ) f (xi )
.
xi+1 xi

Sabemos que yi = f (xi ), ento reescrevemos

yi =

yi+1 yi
.
xi+1 xi

Denio 5.3 Denimos a diferena dividida de ordem zero de uma funo


como:

0 yi = f[xi ] = f(xi ) = yi .
Utilizando a denio anterior, temos

yi = f [xi , xi+1 ] =

f (xi+1 ) f (xi )
0 yi+1 0 yi
=
.
xi+1 xi
xi+1 xi

Denio 5.4 A diferena dividida de ordem dois de uma funo f dada por:
2 y0 = f[x0 , x1 , x2 ] =

f[x1 , x2 ] f[x0 , x1 ]
.
x2 x0

Denio 5.5 Dene-se a diferena dividida de ordem trs de uma funo


como:

3 y0 = f[x0 , x1 , x2 , x3 ] =

f[x1 , x2 , x3 ] f[x0 , x1 , x2 ]
.
x3 x0

Assim, podemos denir a diferena dividida de ordem n qualquer.

Denio 5.6 Dene-se a diferena dividida de ordem n de uma funo f como:


n y0 = f[x0 , x1 , . . . , xn ] =

f[x1 , x2 , . . . , xn ] f[x0 , x1 , . . . , xn1 ]


.
xn x0

125

interpolao

Exerccio 5.6 Dada a tabela a seguir, determine as possveis diferenas dividi-

das.

i xi
yi
0 0, 3 3, 09
1 1, 5 17, 25
2 2, 1 25, 41

Exerccio 5.7 Implemente computacionalmente um operador capaz de determi-

nar as diferenas divididas de ordem k para uma tabela contendo n + 1 pontos, e


em seguida resolva o exerccio anterior usando seu operador.

Teorema 5.3 Se f(x) uma funo polinomial de grau n que passa pelos pontos

(x0 , y0 ), (x1 , y1 ), . . . , (xk , yk ), . . . , (xn , yn ), ento, a diferena dividida de ordem k,


f[x, xi , xi+1 , . . . , xi+k1 ] um polinmio de grau (n k).

Demonstrao:

Veja demonstrao em [Barroso et al., 87]. Intuitivamente, a


(xi )
diferena dividida pode ser escrita como f [x, xi ] = f (x)f
f (x) = f (xi )
xxi
(x xi )f [x, xi ]. Ora, se f (x) um polinmio de grau n, ento o lado direito da
relao deve ser tal que f [x, xi ] um polinmio de grau (n 1), j que o termo
(x xi ) possui grau um.

Corolrio 5.1 Se f(x) uma funo polinomial de grau n, ento todas as dife-

renas divididas de ordem n so iguais a uma constante, e as de ordem (n + 1)


so nulas.

5.6.1 Frmula de Newton para


diferenas divididas

interpolao com

Sejam (n + 1) pontos (xi , yi ), i = 0, . . . , n, e P (x) o polinmio interpolador


para estes pontos. Pela denio da diferena dividida temos:

P [x, x0 ] =

Pn [x] Pn [x0 ]
.
x x0

Logo,

Pn (x) = Pn (x0 ) + (x x0 )P [x, x0 ],


mas

(5.52)

126

clculo numrico

P [x, x0 , x1 ] =

P [x, x0 ] P [x0 , x1 ]

x x1

P [x, x0 ] = P [x0 , x1 ] + (x x1 )P [x, x0 , x1 ].


Agora, substituindo, temos:

Pn (x) = Pn (x0 ) + (x x0 )P [x0 , x1 ] + (x x0 )(x x1 )P [x, x0 , x1 ].


Por outro lado, sabemos que:

P [x, x0 , x1 ] = (x x2 )P [x, x0 , x1 , x2 ] + P [x0 , x1 , x2 ].


Voltando com este resultado na expresso anterior, obtemos:

Pn (x) = Pn (x0 ) + (x x0 )P [x0 , x1 ] + (x x0 )(x x1 )P [x, x1 , x2 ]+


+(x x0 )(x x1 )(x x2 )P [x, x0 , x1 , x2 ].
Continuando o processo, obtemos ento:

Pn (x) = Pn (x0 ) + (x x0 )P [x0 , x1 ] +

(5.53)

(x x0 )(x x1 )P [x0 , x1 , x2 ] +
(x x0 )(x x1 )(x x2 )P [x0 , x1 , x2 , x3 ] + . . . +
(x x0 )(x x1 ) . . . (x xn1 )P [x0 , x1 , . . . , xn ] +
(x x0 )(x x1 ) . . . (x xn )P [x, x0 , x1 , . . . , xn ].
Pelo corolrio, P [x, x0 , x1 , . . . , xn ] = 0. Considerando, ento, que Pn (x0 ) = y0 ,
temos:

Pn (x) = y0 + (x x0 )P [x0 , x1 ] +
(x x0 )(x x1 )P [x0 , x1 , x2 ] +
(x x0 )(x x1 )(x x2 )P [x0 , x1 , x2 , x3 ] + . . . +
(x x0 )(x x1 ) . . . (x xn1 )P [x0 , x1 , . . . , xn ].

(5.54)

127

interpolao

Como sabemos que i y0 = P [x0 , x1 , . . . , xi ], assim:

Pn (x) = y0 + (x x0 )y0 +

(5.55)

(x x0 )(x x1 )2 y0 + . . . +
(x x0 )(x x1 ) . . . (x xn1 )n y0 .
Expressando o polinmio Pn (x) em uma forma mais compacta, temos:

Pn (x) = y0 +

i=1

yo

i1

(x xj ).

(5.56)

j=0

A expresso (5.56) chamada de polinmio interpolador de Newton, usando


diferenas divididas.

Exerccio 5.8 Determine o valor aproximado de f(0, 4), usando o polinmio interpolador de Newton para os pontos tabelados:

i
0
1
2
3
4
xi 0, 0
0, 2
0, 3
0, 5
0, 6
yi 1, 008 1, 064 1, 125 1, 343 1, 514

Implemente computacionalmente o mtodo de interpolao de Newton e em


seguida resolva este exerccio com seu operador.

5.6.2 Comparao dos mtodos de Newton e Lagrange


Uma das formas de observar se um mtodo computacional apresenta vantagens
sobre outro vericar o nmero total de operaes, que ambos devem realizar
para alcanarem o mesmo resultado.
Para (n + 1) pontos, os mtodos de interpolao de Newton e Lagrange apresentam:
No
de operaes
Newton
Lagrange

Adies
Multiplicaes
n2 + n 2
2n 3
2
n +n1
n2 1

Divises
(n2 n)/2
2n

O nmero total de operaes obtido tomando-se a soma das operaes de


adio (que inclui subtrao, quando houver), multiplicao e diviso. Para os
mtodos de interpolao de Newton e Lagrange, o nmero total em cada caso :

128

clculo numrico

Mtodos
o
N total de operaes

Newton
(3n + 5n 10)/2
2

Lagrange
2n2 + 3n 2

Podemos ento comparar os mtodos em termos do menor nmero de operaes, vericando para que valor de n teremos um mtodo mais rpido. Nesse
caso:

3n2 + 5n 10
2n2 + 3n 2 n 2
2
Logo, o mtodo de interpolao de Newton mais rpido, pois possui um
nmero menor de operaes que o mtodo de Lagrange, a partir de dois pontos
tabelados. Na Figura 5.5, apresentamos os grcos para os dois mtodos, assumindo valores contnuos de n 2. Esses grcos foram produzidos com o desenho
das linhas #3: e #4:, respectivamente. Na verdade, para produzirmos os grcos
com pontos discretos, para n 2 inteiro, poderamos desenhar diretamente a
linha #5: e fazer em seguida o mesmo para a funo Newton(n). Para observarmos os nmeros de operaes de cada mtodo simultaneamente, poderamos
utilizar o comando da linha #7:.

Figura 5.5: Grco do nmero total operaes.

129

interpolao

Observe que para um mesmo conjunto de pontos xi , mudando-se os valores


de yi , o mtodo de Lagrange mais vantajoso. Por qu?

5.7 Interpolao com diferenas nitas


Em muitas ocasies, os valores xi dados na tabela esto igualmente espaados.
Em outras palavras, temos

xi+1 xi = h, h = constante, i = 0, 1, , n 1.
Para o mtodo de Newton, vimos que

Pn (x) = y0 +

i=0

y0

i1

(x xj ).

j=0

Assim, se tomarmos h = xi+1 xi , e denirmos uma nova varivel z da forma:

z=

x x0
x x0 = hz,
h

teremos ento:
x x1 = (x (x0 + h)) = x x0 h = hz h = h(z 1),

x x2 = (x (x0 + 2h)) = x x0 2h = hz 2h = h(z 2),


..
.
x xn1 = (x (x + (n 1)h)) = x x0 (n 1)h =
hz (n 1)h = h(z (n 1)).
Levando esses resultados na frmula de Newton, obtemos:

Pn (z) = y0 + hzy0 + h2 z(z 1)2 y0 + . . . +


hn z(z 1) . . . [z (n 1)]n y0 .

Denio 5.7 Denimos o conceito de diferenas nitas, quando


h, i, da forma:

1) zero ordem: 0 yi = yi
2) primeira ordem: yi = yi+1 yi = 0 yi+1 0 yi
3) segunda ordem: 2 yi = yi+1 yi ,
e assim por diante at a ordem n-sima
n) ordem n: n yi = n1 yi+1 n1 yi

(5.57)

xi+1 xi =

130

clculo numrico

Exerccio 5.9 Dada a tabela a seguir, construa as diferenas nitas possveis.


x 3, 5 4, 0 4, 5 5, 0 5, 5
y 9, 8 10, 9 12, 0 13, 1 16, 2

Teorema 5.4 Seja f uma funo denida nos pontos


que xi+1 xi = h, i. Ento:

n yi =

(xi , yi ), i = 0, . . . , n, tais

n yi
.
n!hn

Levando esse resultado na frmula (5.57), obtemos:

z
z(z 1) 2
y0 +
y0 + . . . +
1!
2!
z(z 1) . . . [z (n 1)] n
y0 .
n!

(5.58)

Pn (z) = y0 +

A expresso do polinmio interpolador em (5.58) chamada de frmula de


interpolao de Gregory-Newton para diferenas nitas.

Exerccio 5.10 Mostre que o erro de truncamento para as diferenas nitas


dado por:

ET (z) = h

n+1

f n+1 ()
z(z 1)(z 2) . . . (z n)
.
(n + 1)!

Exerccio 5.11 Verique qual o nmero de operaes envolvidas na frmula de


Gregory-Newton e compare o resultado com a frmula de Newton.

Exerccio 5.12 Construa as diferenas nitas com base na tabela dada abaixo e
em seguida determine o polinmio de Gregory-Newton:

x 3, 5 4, 0 4, 5 5, 0 5, 5
y 9, 8 10, 9 12, 0 13, 1 16, 2

5.8 Interpolao por Splines


Nas subsees anteriores apresentamos algumas tcnicas de interpolao polinomial onde a ordem do polinmio interpolador determinada levando-se em considerao o nmero de pontos da tabela, ou seja, dados os pontos {(x0 , y0 ), (x1 , y1 ),
. . . , (xn , yn )}, o polinmio interpolador ser de ordem mxima n, sendo este polinmio nico para qualquer ponto a ser interpolado.
Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:43:21 -03'00'

131

interpolao

A tcnica da interpolao por splines1 utilizada para construir um conjunto


de polinmios de mesma ordem para cada intervalo xi+1 xi , com i = 0, 1, . . . , n
1, os quais obedecem alguns critrios de continuidade e suavidade.

Denio 5.8 Sejam a = x0 < x1 < x2 < . . . < xn = b, (n+1)-pontos distintos e


sejam f0 , f1 , f2 , . . . , fn os valores de uma funo f nos pontos xi , respectivamente.
A funo spline de grau m, com pontos de interpolao xi , i = 0, . . . , n uma
funo polinomial S(x) que satisfaz s seguintes condies:
1. S(xi ) = fi , i = 0, . . . , n.
2. S(x) (m-1)-vezes derivvel em cada ponto xi , 1 i n 1.
3. Em cada subintervalo [xi , xi+1 ], S(x) uma funo polinmial de grau m.
4. S(x) uma funo contnua em todo o intervalo [a, b].
As condies acima indicam que a funo spline contnua por partes e suave,
pois derivvel, a exceo do spline linear, onde apenas a condio de continuidade mantida.

5.8.1 Spline linear


O caso mais simples de aplicao da interpolao por spline o linear. A spline
S(x) ser formada por um conjunto de n-retas, onde cada reta est denida em
um intervalo [xi , xi+1 ], ou seja:

Si (x) = ai (x xi ) + bi , xi x xi+1 , i = 0, 1, 2, . . . , n 1.

(5.59)

Na expresso da spline linear (5.59) vemos que h 2n coecientes a serem


determinados. A continuidade da funo requer (n 1) condies. Os n + 1 graus
de liberdade restantes so usados para que a spline assuma os valores S(xi ) =
fi , i = 0, 1, 2, . . . , n nos seus ns. Devemos ter, ento:

Si+1 (xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2.

(5.60)

A condio anterior, quando aplicada funo (5.59) resulta em:


1O

termo splines surgiu a partir da utilizao de um tipo de rgua exvel a qual foi utilizada
na indstria para o design naval e de avies. Um pouco da histria sobre splines pode ser
encontrado na pgina da Wikipedia na internet.

132

clculo numrico

ai+1 (xi+1 xi+1 ) + bi+1 = ai (xi+1 xi ) + bi .

(5.61)

Mas, como a funo deve passar por todos os pontos, temos que Si (xi ) = fi
ou que Si+1 (xi+1 ) = fi+1 , portanto, obtemos da equao (5.61) que:

ai =

fi+1 fi
.
xi+1 xi

(5.62)

Se tais condies forem satisfeitas teremos garantida a continuidade. Note


que ai mede a inclinao da reta que liga os pontos xi a xi+1 . Como m = 1
temos que m 1 = 0 e portanto no possivel impor a segunda condio em 5.8
referente a derivada.

Exerccio 5.13 Dados os pontos {(1, 0), (0, 1), (1, 2), (2, 1)}, determine a spline
linear e o valor interpolado para x = 3/2.

Exerccio 5.14 A spline quadrtica uma funo S(x) do tipo:


Si (x) = ai + bi (x xi ) + ci (x xi )2 , i = 0, 1, 2, . . . , n 1.
Si+1 (xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2,

Si+1
(xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2.

Note que temos 3n coecientes a serem determinados, mas a continuidade da


funo e de sua derivada resultam em 2n 2 condies. Para os n + 2 graus de
liberdade restantes usamos as n + 1 condies S(xi ) = fi , i = 0, 1, , n e uma

das condies adicionais: S0 (x0 ) = 0 ou S0 (x0 ) = Sn1


(xn ). A primeira condio
conhecida como spline natural e a segunda como spline correto. Utilizando a
condio de spline natural, determine a spline quadrtica S(x).

5.8.2 Spline cbica


Consideremos agora a spline cbica, isto , o caso em que os graus dos polinmios Si (x) so m = 3 em cada subintervalo.
Sejam os pontos {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )} e sejam as funes

Si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 ,
com i = 0, 1, 2, . . . , n 1.

(5.63)

133

interpolao

De acordo com as propriedade da funo spline, devemos ter a continuidade


nos pontos internos, assim:

Si+1 (xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2.

(5.64)

Logo, como S(xi ) = fi = yi = ai , temos que

fi + bi (xi+1 xi ) + ci (xi+1 xi )2 + di (xi+1 xi )3 = fi+1 ,

(5.65)

pois S(xi+1 ) = ai+1 = fi+1 .


Denido-se hi = xi+1 xi , a expresso (5.65) torna-se:

fi+1 = fi + bi hi + ci h2i + di h3i .

(5.66)

Agora, como m = 3 devemos ter a continuidade nas derivadas at ordem dois.


Assim,

Si+1
(xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2,

(5.67)

Si+1
(xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2.

(5.68)

Da condio da derivada primeira, temos

bi+1 = bi + 2ci hi + 3di h2i ,

(5.69)

e da segunda condio temos,


(5.70)

ci+1 = ci + 3di hi .
Da condio (5.70) obtemos:

di =

ci+1 ci
.
3hi

(5.71)

Substituindo o valor de di dado em (5.71) na equao (5.66), temos

fi+1 = fi + bi hi + ci h2i +
fi+1 = fi + bi hi +

ci+1 ci 3
hi ,
3hi

hi
(2ci + ci+1 ).
3

(5.72)

134

clculo numrico

Substituindo agora a equao (5.71) na equao (5.69), temos

bi+1 = bi + 2ci hi + 3h2i

ci+1 ci
,
3hi

bi+1 = bi + hi (ci + ci+1 ).

(5.73)

Extraindo bi da equao (5.72), obtemos:

bi =

fi+1 fi hi
(2ci + ci+1 ),
hi
3

(5.74)

que fazendo i i 1, temos

bi1 =

fi fi1 hi1

(2ci1 + ci ).
hi1
3

(5.75)

Da equao (5.73) podemos escrever, tomando, i i 1,

bi = bi1 + hi1 (ci1 + ci ),

(5.76)

que substituindo na equao (5.75) e igualando a bi dado na equao (5.74),


obtemos:

hi1 ci1 + 2(hi1 + hi )ci + hi ci+1 = 3

fi+1 fi
fi fi1
3
,
hi
hi1

(5.77)

com i = 1, 2, 3, . . . , n 1 e onde usamos que ai = fi e ai+1 = fi+1 .


Vemos que a expresso (5.77) gera (n 1) equaes para um total de n + 1
incgnitas. Portanto, ainda precisamos de duas condies adicionais para podermos determinar os coecientes c0 e cn . Para isso, comum adotar-se uma das
duas condies adicionais:

S0 (x0 ) = Sn1
(xn ) = 0,

(5.78)

S0 (x0 ) = f (x0 ), Sn1


(xn ) = f (xn ).

(5.79)

ou

A condio (5.78) conhecida como spline natural e a condio (5.79) conhecida como spline correto. A condio de spline natural resulta em:

135

interpolao

Si (x) = 2ci + 6di (x xi ),


x = x0 S0 (x0 ) = 2c0 + 6d0 (x0 x0 ) = 0 c0 = 0,

(5.80)

e para

x = xn Sn1
(xn ) = 2cn1 + 6dn1 (xn xn1 ) = 0,

que substituindo dn1 dado em (5.71), temos

2cn1 + 6

cn cn1
hn1 = 0 cn = 0.
3hn1

(5.81)

Agora, determinando-se os ci a partir das equaes geradas por (5.77) e uma


das condies adicionais, os demais coecientes da spline sero determinados. A
condio de spline natural deve ser utilizada quando temos uma tabela contendo
pontos, pois neste caso no dispomos da funo f que gerou a tabela.
Resumindo, as equaes para determinar a spline cbica:

zi
zi+1 zi
(x xi )2 +
(x xi )3 ,
2
6hi

(5.82)

fi+1 fi
hi
hi
zi+1 zi , i = 0, 1, 2, . . . , n 1,
hi
6
3

(5.83)

Si (x) = fi + Si (xi )(x xi ) +


so:

Si (xi ) = bi =

e com ci = z2i , i = 0, 1, 2, . . . , n e xi x xi+1 , hi = xi+1 xi , para i =


0, 1, 2, . . . , n 1; a equao para determinar os zi dada por,

(
hi zi + 2(hi + hi+1 )zi+1 + hi+1 zi+2 = 6

fi+2 fi+1 fi+1 fi

hi+1
hi

)
,

(5.84)

onde i = 0, 1, 2, . . . , n 2, e assumindo a condio de spline natural z0 = zn = 0.

Exemplo 5.6 Sejam os pontos {(0, 1), (1, 0), (2, 1/2), (3, 1)}. Determine a spline

cbica natural para os pontos dados.


Soluo: Temos 4 pontos tabelados. Logo, com a imposio da spline natural
temos que z0 = z3 = 0. Temos tambm que:

136

clculo numrico

h0 = x1 x0 = 1, h1 = x2 x1 = 1, h2 = x3 x2 = 1,
f1 f0 = 1, f2 f1 = 1/2, f3 f2 = 1/2.

Para i = 0, temos:
(
h0 z0 + 2(h0 + h1 )z1 + h1 z2 = 6

f2 f1 f1 f0

h1
h0

)
4z1 + z2 = 9.

Para i = 1, temos:
(
h1 z1 + 2(h1 + h2 )z2 + h2 z3 = 6

f3 f2 f2 f1

h2
h1

)
z1 + 4z2 = 0.

Resolvendo o sistema linear para as variveis z1 e z2 , obtemos:


z1 =

12
3
, z2 = .
5
5

(5.85)

Agora, substituindo estes valores na equao (5.83), obtemos:


f1 f0
h0
h0
7
z1 z0 = ,
h0
6
3
5
f2 f1
h1
h1
1
=
z2 z1 = ,
h1
6
3
5
f3 f2
h2
h2
7
=
z3 z2 = .
h2
6
3
10

S0 (x0 ) = b0 =
S1 (x1 ) = b1
S2 (x2 ) = b2

Portanto, substituindo em (5.82), temos:


2 3 7
x x + 1, x0 x x1 ,
5
5
1
27
41
19
S1 (x) = x3 + x2 x + , x1 x x2 ,
2
10
10
10
1 3
S2 (x) =
(x 9x2 + 59x 85), x2 x x3 .
10
S0 (x) =

Exerccio 5.15 Aproxime a funo f (x) = sen(x) por uma spline natural, con-

siderando os pontos x0 = 0, x1 = /4, x2 = /2. Verique o valor interpolado


para x = /6 e compare com o valor obtido diretamente da funo.

137

interpolao

Neste captulo, foram apresentados alguns mtodos de interpolao polinomial. No entanto, h outros mtodos de interpolao polinomial, como a aproximao de uma funo por polinmios de Chebyshev, ou ainda por meio de funes
que no sejam polinmios, como, por exemplo, pela aproximao por funes racionais, cujo mtodo conhecido como aproximao de Pad. Um estudo sobre
essas novas tcnicas est fora do escopo deste livro, e por isto no sero tratadas
aqui.

5.9 Exerccios propostos


3

x
1. Desenhe os grcos das funes f (x) = sen x e g(x) = x x6 + 120
e verique
em que intervalo o polinmio uma boa aproximao da funo sen (x).

2. Seja a tabela

x 0
0, 25
0, 5
.
y 1, 0 1, 064494458 1, 284025416
Encontre o polinmio interpolador quadrtico para os pontos da tabela, e,
em seguida, compare os grcos do polinmio interpolador com o da funo
2
f (x) = ex . Determine o valor do polinmio em x = 0, 4 e estime o erro de
truncamento cometido pela aproximao.
3. Na srie de co cientca Star Trek, a nave Enterprise viaja com velocidade medida em Wraps, onde 1 Wrap igual velocidade da luz no vcuo
c, e 10 Wraps innitamente rpido. De acordo com o Star Trak: The
Next Generation Technical Manual, by Sternbach e Okuda, a relao entre
Wraps e a velocidade da luz c dada pela tabela (veja [Etchells, 97]):

W rap 1 2 3
4
5
6
7
8
9
.
c
1 10 39 102 214 392 656 1024 1516
Determine o polinmio interpolador de Lagrange para esses pontos e, em seguida, determine qual o valor da velocidade da Enterprise quando a mesma
viaja com uma velocidade de 5, 5 Wraps.
Nota: De acordo com a teoria da Relatividade Geral de Einstein, nada
pode viajar com uma velocidade superior velocidade da luz no vcuo c,
embora haja uma teoria que prope partculas com velocidades superiores
da luz, chamadas de tachyons, mas estas ainda no foram comprovadas
experimentalmente ou observacionalmente.
4. A tabela a seguir apresenta o Produto Interno Bruto per Capita (PIBpC)
do Brasil, medido em US$. Determine o polinmio interpolador de Newton

138

clculo numrico

nos pontos tabelados e estime o valor da PIBpC em 1964.

Ano
1900 1913 1950 1973 1987
P IBpC BR 436 521 1073 2504 3417
Na tabela a seguir, o PIBpC dos Estados Unidos apresentado em US$.
Observando que o intervalo entre os anos constante, utilize o mtodo de
interpolao de Gregory-Newton para encontrar o polinmio interpolador
referente a esta tabela. Em seguida, clcule o PIBpC dos Estados Unidos
no ano de 1964 e compare ao valor brasileiro.

Ano
1890 1910 1930 1950 1970
P IBpC U S 3101 4538 5642 8605 12815
Que concluses voc pode tirar deste exerccio?
5. O mtodo da interpolao estudado neste captulo pode tambm ser aplicado para determinar o valor de x para certo valor de y , quando temos uma
funo da forma y = f (x). Esse procedimento conhecido com interpolao
inversa, e obtido com a troca dos papis de x com y na interpolao direta.
Usando os valores tabelados a seguir, determine o polinmio interpolador
de Lagrange de ordem 3, e em seguida indique o valor do ngulo cujo seno
0.6. Qual o erro de truncamento?

y
0, 0 0, 5 0, 8660254037 1, 0

x = arcsen y 0, 0 6
3
2

Captulo 6

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:43:49 -03'00'

AJUSTE DE CURVAS

Neste captulo, vamos estudar o mtodo de ajuste de curvas (funes), utilizando a tcnica dos mnimos quadrados. Essa tcnica de aproximao tem
caractersticas diferentes da interpolao polinomial.
Suponha que temos um conjunto de pontos tabelados da forma

{(x1 , y1 ), (x2 , y2 ), . . . , (xm , ym )}


e desejamos obter a expresso y = f (x), que relaciona x a y , e com esse resultado
desejamos determinar o valor de y para certo valor de x que no conste na tabela,
podendo o valor de x estar, inclusive, fora do intervalo [x1 , xm ].
Em muitas ocasies, o mtodo da interpolao no aconselhvel. Em particular:

Quando preciso obter um valor aproximado da funo para valores fora


do intervalo tabelado. Isso caracteriza uma extrapolao.
Em experimentos fsicos ou em alguma pesquisa onde existem erros inerentes devidos aos instrumentos etc., os quais no so previsveis.
Assim, no h necessidade de calcularmos exatamente a funo f que origina
os pontos tabelados, e sim a funo que melhor se ajusta aos pontos dados. Esse
ajuste d a idia de um comportamento mdio da funo.
Neste captulo, vamos tratar apenas dos ajustes de curvas nos casos de pontos
discretos. Mas, qual o sentido da expresso melhor se ajusta aos pontos da
tabela?
Suponha que temos o seguinte caso visto na Figura 6.1. Como podemos dizer
qual das retas melhor se ajusta aos pontos dados? Alguns critrios para medir a
qualidade do ajuste podem ser propostos.

140

clculo numrico

Figura 6.1: Ajuste por retas.

6.1 Critrios para medida da qualidade dos


ajustes
Se por algum processo determinarmos uma funo f para a curva originada
a partir de uma tabela dada, podemos comparar o valor de f (xi ) com os valores
de yi .

Denio 6.1 O erro ou resduo de valor dado por:


Ri = f (xi ) yi .
Assim, podemos imaginar os processos de ajuste da forma:
1. Todos os erros devem tender a zero, isto : Ri 0. Esse critrio no interessante, pois retornaramos ao problema da interpolao, j que, quando
o resduo se anula, teramos: f (xi ) = yi = f (xi ), i, que o resultado da
interpolao polinomial.
2. A
dos erros deve ser to pequena quanto possvel. Em outras palavras,
soma
m
i=1 Ri deve ser minimizado. Esse critrio no interessante, j que
possvel termos a soma dos resduos nula sem que o ajuste seja bom. A
Figura 6.2 indica essa situao.
3. A
soma dos resduos
em valor absoluto deve ser a menor possvel. Isto ,
m
m

i=1 |f (xi ) yi | deve ser mnima. Esse critrio no bom,


i=1 |Ri | =
pois a soma no se anula, e a funo valor absoluto no derivvel em seu

ajuste de curvas

141

Figura 6.2: Ajuste com a soma dos resduos nula.


mnimo (x = 0). Por isso, teramos diculdade de determinar o mnimo de
tal soma.
4. Critrio de Tschebyche. Esse critrio busca encontrar o valor mnimo do
mximo dos resduos. Ou seja, max1im |f (xi )yi | deve ser mnimo. Esse
critrio possui uma soluo dcil e por isso no considerado.
5. O mtodo dos mnimos
quadrados procura minimizar a soma do quadrado
2
dos resduos. Ou seja, m
i=1 Ri deve ser minimizada. Veja que nesse caso
nunca teremos uma soma nula (s se ocorrer interpolao), e a funo quadrtica facilmente derivvel. Assim, esse critrio parece o mais adequado
para o ajuste de funes.

6.2 Mtodo dos mnimos quadrados


O mtodo dos mnimos quadrados amplamente utilizado, sendo conhecido
tambm por otimizao linear, anlise de regresso e suavizao de dados.
No caso de suavizao de dados, quando dispomos de uma tabela de pontos,
a tcnica dos mnimos quadrados utilizada para determinarmos um conjunto de
parmetros cj de uma funo f que aproxima uma funo desconhecida f . Seja
a funo f dada por:

f (x) = c1 1 (x) + c2 2 (x) + . . . + cn n (x),

(6.1)

142

clculo numrico

onde os cj so coecientes e as funes j (x) so conhecidas e linearmente independentes.


Os parmetros cj surgem de forma linear na expresso (6.1), embora as funes
i (x) possam ser no lineares em x. A escolha das funes i (x) feita de acordo
com a natureza da tabela de disperso dos pontos.
A funo f (x) ser determinada univocamente quando os valores dos parmetros cj forem determinados de forma unvoca. Para calcularmos os cj , j = 1, . . . , n,
onde consideramos n m, sabemos que:

Ri = f (xi ) yi , i = 1, . . . , m.
Seja {(xi , yi ), i = 1, . . . , m} um conjunto de pontos de uma tabela. A funo
f que melhor se ajusta, no sentido dos mnimos quadrados, aos pontos da tabela
denida como aquela cujos parmetros cj so determinados de tal forma que a
soma dos quadrados dos resduos seja mnima.
O resduo escrito como:

R =

i=1

Ri2

(f (xi ) yi )2

(6.2)

i=1

(yi f (xi ))2

i=1

(yi c1 1 (xi ) c2 2 (xi ) . . . cn n (xi ))2 .

i=1

Vemos que R uma funo que depende dos parmetros cj , isto : R =


R(c1 , c2 , . . . , cn ). Do clculo diferencial sabemos que, para obtermos o ponto de
mnimo de uma funo, temos que determinar seus pontos crticos. Assim, no
caso da funo R(cj ), devemos ter que:

R
(c ,..., c ) = 0.
cj 1 n
Logo, calculando as derivadas parciais, temos:

R
=2
(yi c1 1 (xi ) . . . cn n (xi )) (j (xi ));
cj
i=1

(6.3)

(6.4)

impondo a condio de nulidade das derivadas, obtemos:


m

i=1

(yi c1 1 (xi ) . . . cn n (xi )) (j (xi )) = 0, j, j = 1, . . . , n.

(6.5)

143

ajuste de curvas

Tomando os valores, obtemos as equaes:

j =1
j =2

i=1
m

(yi c1 1 (xi ) . . . cn n (xi )) (1 (xi )) = 0,


(yi c1 1 (xi ) . . . cn n (xi )) (2 (xi )) = 0,

i=1

..
.

j =n

(yi c1 1 (xi ) . . . cn n (xi )) (n (xi )) = 0.

i=1

As equaes apresentadas podem ser reescritas da forma:


m
m

(1 (xi )1 (xi ))c1 +


(2 (xi )1 (xi ))c2 + . . .
i=1

i=1

(n (xi )1 (xi ))cn =

i=1

(1 (xi )yi ),

i=1

(1 (xi )n (xi ))c1 +

i=1

..
.

(6.6)

(2 (xi )n (xi ))c2 + . . .

i=1

(n (xi )n (xi ))cn =

i=1

(n (xi )yi ).

i=1

O conjunto de equaes (6.6) forma um sistema de equaes algbricas lineares


nas variveis cj . Essas equaes so conhecidas na literatura como equaes
normais. Temos n equaes para n incgnitas.
Se chamarmos de

a11 a12 a1n

..
.. ,
..
A = ...
.
.
.
an1 an2 ann
com

aij =

(i (xk )j (xk )) = aji ,

k=1

C = (c1 , c2 , . . . , cn ),

144

clculo numrico

B = (b1 , b2 , . . . , bn ),
com

bi =

yk i (xk ),

k=1

temos o sistema:

A C = B.
possvel mostrar que, se as funes n (x) so linearmente independentes, o
determinante da matriz A no nulo, det(A) = 0. Logo, o sistema possui soluo
nica. Tal soluo minimiza a funo R(c1 , c2 , . . . , cn ) e denominada a funo
de melhor ajuste para a tabela dada.

6.3 Ajuste polinomial


O ajuste polinomial obtido considerando-se uma funo polinomial ou uma
combinao linear de polinmios da seguinte forma.

6.3.1 Ajuste por uma reta


O ajuste de funes por uma reta, tambm chamado de regresso linear,
obtido considerando os pontos (xi , yi ), i = 1, . . . , m, e a funo f (x) = a0 + a1 x
(equao de uma reta), assim:

Ri = yi f (xi ) = yi (a0 + a1 xi ).

Sabemos que
que:

Ri2 deve ser minimizado; ento, comparando os termos, temos

1 (x) = 1, c1 = a0 ,
2 (x) = x, c2 = a1 .

Seguindo os resultados anteriores, temos que A C = B conduz a:

145

ajuste de curvas

a11 =
a12 =
a22 =
b1
b2

=
=

1 (xk )1 (xk ) =

k=1

k=1

k=1
m

k=1
m

1 (xk )2 (xk ) =

k=1
m

2 (xk )2 (xk ) =

1 1 = m,
1 xk =

xk xk =

k=1

yk 1 (xk ) =

k=1

k=1

yk 2 (xk ) =

xk ,

k=1
m

x2k ,

k=1

1 yk ,
1yk xk .

k=1

k=1

Na forma matricial,
(
)(
) (
)

x
m
c
y
k
1
k
k
k

2
=
.
c2
k xk
k xk
k yk xk

(6.7)

Utilizando, por exemplo, o mtodo de Cramer para obter a soluo, temos:

yk k x2k k yk xk k xk

,
=
m k x2k ( k xk )2

m k yk xk k xk k yk

=
.
m k x2k ( k xk )2

c1
c2

(6.8)
(6.9)

Com as relaes (6.8) e (6.9) podemos expressar os termos a1 , a2 da forma:

c2 = a1 =

yk xk
2
k xk

xk k y k
m
( k xk ) 2
m

c1 = a0 = Y a1 X,

(6.10)
(6.11)

onde

xk
,
m

yk
= k .
m

X =
Y

(6.12)
(6.13)

146

clculo numrico

Exerccio 6.1 Deduza as relaes para a1 e a2 .

Exerccio 6.2 Uma mquina sofre um desgaste ao longo do tempo de tal forma
que passou a ter a produo anual dada na tabela de disperso a seguir:
x(anos)

0, 5 1, 0 1, 5 2, 0 2, 5 3, 0
y(produo) 3000 2700 2500 2000 1300 800

Desejamos saber, mantido esse ritmo, qual a produo da mquina no nal do


quarto ano de operao.

6.3.2 Ajuste polinomial quadrtico


O ajuste polinomial pode ser realizado com base em uma funo polinomial
quadrtica. Nesse caso, consideraremos a funo de ajuste como:

f (x) = a0 + a1 x + a2 x2 .

(6.14)

Podemos, ento, identicar os termos da funo (6.14) com os da funo de


ajuste (6.1), resultando em:

c1 = a0 ,

c 2 = a1 ,

c3 = a2 ,

1 (x) = 1, 2 (x) = x, 3 (x) = x2 .

Assim, utilizando o resultado geral para as equaes normais, temos:

(6.15)

147

ajuste de curvas

a11 =

a12 =

a13 =

a22 =

a23 =

a33 =

1 (x)1 (x) =

k=1

k=1

1 (x)2 (x) =

k=1

k=1

1 (x)3 (x) =

k=1

k=1

2 (x)2 (x) =

k=1

k=1

2 (x)3 (x) =

k=1

k=1

3 (x)3 (x) =

b1 =

b2 =

yk 1 (x) =

k=1

k=1

yk 2 (x) =

xk ,

k=1

x2k

x2k ,

k=1

xk xk =

x2k ,

k=1

xk

x2k

x3k ,

k=1

x2k

x2k

x4k ,

k=1

yk ,
yk xk ,

k=1

k=1

b3 =

1 xk =

k=1

k=1
m

1 1 = m,

yk 3 (x) =

k=1

Logo, as equaes normais

k xk2
k xk
2 k xk3
k xk
k xk

yk x2k .

k=1

so:

2
x
y
c
k
1
k
k
k
3

c2 = k yk xk .
k xk4

2
c
x
3
k
k
k yk xk

(6.16)

Calculando o determinante da matriz A, podemos vericar que este diferente


de zero se e somente se os pontos xk forem distintos. Assumindo que isso se
verica na tabela de disperso, o sistema possui soluo nica que corresponde
aos coecientes cj , j = 1, 2, 3, os quais esto relacionados aos coecientes ai , i =
0, 1, 2 da funo de ajuste (6.14), e portanto o ajuste quadrtico determinado
univocamente.

148

clculo numrico

Exerccio 6.3 Escreva um operador para o ajuste polinomial quadrtico; em seguida, determine o ajuste polinomial quadrtico para o exemplo 6.2.

6.3.3 Ajuste polinomial geral


Analogamente aos casos anteriores, a funo de melhor ajuste pode ser considerada uma funo polinomial de grau n. Ou seja,

f (x) = a0 + a1 x + . . . + an xn .

(6.17)

Estabelecendo as equivalncias entre os coecientes ai e os cj , e aps algumas


operaes, obtemos as equaes normais:

k xk2
k xk
k xk
..
..
. n . n+1
k xk
k xk

n
k
k xn+1
x
k k
..
. 2n
k xk

c1
c2
..
.
cn


k yk
yk xk
k
=
..

. n
k yk xk

(6.18)

O sistema (6.18) possui soluo nica desde que os pontos xi sejam distintos.
Como assumido que isso se verica na tabela de disperso, a soluo do sistema
existe e, portanto, a funo de ajuste polinomial obtida.

Exerccio 6.4 Dada a tabela de disperso


x 1
2
3
4
5
6
7
8
,
y 0, 5 0, 6 1, 0 1, 2 1, 6 2, 0 2, 5 3, 0

determine a reta e a parbola que melhor se ajustem aos pontos da tabela. Usando uma calculadora compare os resultados, desenhando os grcos das curvas
encontradas e o grco dos pontos da tabela de disperso.

6.4 Ajuste no linear


Como mencionado anteriormente, a funo de melhor ajuste f (x) formada
com base nas funes (x), as quais podem ser funes no lineares do tipo:

(x) = ex , (x) = ln(x), (x) = cos x.


O tratamento, nesses casos, idntico ao caso do ajuste polinomial, e a funo
de melhor ajuste dada por (6.1).

149

ajuste de curvas

6.4.1 Casos redutveis ao linear


Vejamos o caso inicial da funo de ajuste dada pela funo exponencial da
forma:

f (x) = c1 ec2 x .

(6.19)

Observe que a funo acima no est descrita em conformidade com (6.1). O


procedimento a ser adotado para determinarmos os coecientes c1 e c2 considerarmos uma mudana de varivel, na tentativa de reduzir o problema a um ajuste
linear.
Considerando a mudana:

z = ln f (x) = ln y,
dessa relao podemos ver que:

z = ln(c1 ec2 x ) = ln c1 + ln ec2 x = ln c1 + c2 x.


Fazendo c1 = ln c1 , reduzimos o problema ao caso linear, pois

z = c1 + c2 x 1 (x) = 1, 2 (x) = x.

(6.20)

Nas variveis, x e z a funo est descrita na forma linear. Comparando com


o ajuste realizado para a reta, temos que:

c1
c2

k xk k xk ln yk

=
,
m k x2k ( k xk )2

m k xk ln yk k xk k ln yk

.
=
m k x2k ( k xk )2
k

x2k

ln yk
k

(6.21)
(6.22)

Contudo, sabemos que c1 = ec1 . Ento, uma vez obtidos os valores dos coecientes, podemos escrever a funo exponencial de melhor ajuste como:

f (x) = ec1 ec2 x = ec1 +c2 x .

(6.23)

Exerccio 6.5 Implemente computacionalmente um operador para determinar


a funo de melhor ajuste no linear (6.23) e, em seguida, dada a tabela de
disperso
x 0 1 2
,
y 1 2 6

determine a funo y = c1 ec2 x que melhor se ajusta aos pontos dados.

150

clculo numrico

Tabela 6.1: Tabela de funes no lineares.


Funo y = f (x)

Mudanas de variveis

Forma linear y = ax + b

a
x

x = x1 , y = y

y = a x1 + b

y=

+b

y=

d
x+c

y=

1
ax+b

y=

x
a+bx

x = x y, y = y
c = a1 , d = ab
x = x, y = y1

y = 1c (x y) +
1
y

= ax + b

1
y

= a x1 + b

d
c

y = a ln(x) + b

x = x1
y = y1
x = ln(x), y = y

y = a ln(x) + b

y = ceax

x = x, y = ln(y)

ln(y) = ax + ln(c)

y = cxa

c = eb
x = ln(x), y = ln(y)

ln(y) = a ln(x) + ln(c)

y=

1
(ax+b)2

y = cxedx
y=

m
1+ceax

c = eb
x = x
y = 1y
x = x, y = ln( xy )
c = eb , d = a
x = x, y = ln( m
1)
y
b
c = e , m =constant

1
y

= ax + b

ln( xy ) = dx + ln(c)
ln( m
1) = ax + ln(c)
y

Exerccio 6.6 Determine as mudanas de coordenadas que linearizem as funes


de melhor ajuste dadas a seguir. Implemente computacionalmente tais ajustes.
f (x) = a1 ax2 , f (x) > 0,
f (x) =

1
.
a1 + a2 x

Na Tabela 6.1, apresentamos alguns casos de linearizao para ajuste de funes no lineares.
Existem outras tcnicas que permitem fazer o ajuste de curvas, como Sries
de Fourier e polinmios ortogonais. No entanto, tais tcnicas esto fora do escopo
deste livro.

151

ajuste de curvas

6.5 Coeciente de determinao


A prtica mostra que, em muitas situaes de ajuste de polinomial, com polinmios de ordem moderada (> 8) a grande, a soluo das equaes normais
apresenta erros relativamente grandes. A origem desse problema reside no fato
do sistema ser mal-condicionado. Assim, importante estabelecer algum mecanismo para inferir a qualidade de um ajuste polinomial.
No caso especco do ajuste linear, a qualidade desse ajuste pode ser medida
por meio de um coeciente, chamado de coeciente de determinao, o qual
determinado por:

D2 = (

yk
m

]2

k xk
)
(
),
2
2 (k yk )2
( k xk )
2
k xk
k yk
m
m
k

xk yk

(6.24)

onde 0 D 1.
Quanto melhor o ajuste, mais prximo o coeciente D estar da unidade.
Uma frmula alternativa do coeciente de determinao dada por:

2
2
k (yk yk )
,
(6.25)
D =1

2 ( k yk )2
k yk
m
onde yk corresponde ao valor estimado de yk pela funo de ajuste linear.

Exerccio 6.7 Implemente computacionalmente o coeciente de determinao

linear e, em seguida, verique seu valor para o exemplo 6.2.

6.6 Exerccios propostos

1. Para determinar a funo f (x) = nk=0 ak Pk (x), onde Pk (x) so polinmios


de Legendre, a frmula de recurso deve ser utilizada:

bn+2 = bn+1 = b0
2k + 1
k+1
bk = ak +
xbk+1
bk+2 k = 0, . . . , n.
k+1
k+2
Implemente no

Derive

essa frmula recursiva e mostre que f (x) = b0 .

2. Um experimento em Fsica com base na Lei de Hooke F = kx gerou a


tabela de dados:

152

clculo numrico

x
0, 2 0, 4 0, 6 0, 8 1, 0
.
F (x) 5, 5 10, 3 15, 8 21, 3 26, 5
Determine uma aproximao para o valor da constante de elasticidade da
mola k .
3. Encontre a melhor reta e a melhor parbola que se ajustem s tabelas
a seguir, e em seguida desenhe a curva para a tabela de disperso e dos
polinmios encontrados.
a)

x 4 2 0
2
4
;
y 1, 2 2, 8 6, 2 7, 8 13, 2

b)

x
1
2
3
4
5
6
.
y 1, 39 1, 95 2, 72 3, 79 5, 29 7, 39
4. No exerccio proposto 4 do Captulo 5 temos duas tabelas com os valores do
Produto Interno Bruno per Capita do Brasil e dos Estados Unidos durante
um conjunto de anos. Para ambas as tabelas, ajuste a melhor reta e a
melhor parbola e verique qual das duas curvas possui o menor resduo.
Com base em seu resultado, verique qual o valor do PIBpC de ambos os
pases no ano 2005.
5. A tabela de disperso a seguir fornece o valor da populao (em milhes de
habitantes) brasileira para alguns anos.

Ano
1900 1920 1940 1960 1980
Habitantes 17, 4 30, 6 41, 2 70, 2 119, 9
Determine a equao logstica P (t) do crescimento populacional que melhor
se ajusta tabela, sendo:

500
.
1 + aebt
Qual a estimativa de populao para o ano 2000?
P (t) =

Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:44:28 -03'00'

Captulo 7
MTODOS DE DERIVAO
NUMRICA

O objetivo deste captulo apresentar algumas tcnicas para derivao numrica de funes, das quais so conhecidos apenas pontos discretos ou mesmo quando
desejamos obter apenas uma aproximao numrica. Em outras palavras, na
primeira situao, no temos a funo e sim uma tabela de pontos, e na segunda
conhecemos a funo, mas por alguma razo necessitamos de uma aproximao, como acontece, por exemplo, nos mtodos de otimizao, ou na soluo de
equaes diferenciais parciais.

7.1 Aproximao da derivada por diferenas


Seja f uma funo, e vamos assumir que o valor da funo f conhecido para
os pontos (x0 h, f (x0 h)), (x0 , f (x0 )) e (x0 + h, f (x0 + h)). Com esses pontos,
gostaramos de obter uma aproximao para o valor da derivada de f (x) no ponto
x0 , isto , f (x0 ).
Podemos estimar o valor da derivada pela inclinao da reta tangente no
ponto x0 . Assim, em x0 podemos aproximar a derivada, considerando o valor de
h pequeno, por meio da razo incremental,

f (x0 + h) f (x0 )
+ ET (f, h),
(7.1)
h
onde ET corresponde ao erro de truncamento.
A aproximao dada pela equao (7.1) conhecida como diferena progressiva
ou posterior, uma vez que para obtermos a estimativa no ponto x0 utilizamos o
ponto posterior a este. Denotamos esta derivada por D+ (h).
Por outro lado, a aproximao poderia ser tomada, considerando a razo
incremental:
f (x0 )

154

clculo numrico

f (x0 ) f (x0 h)
+ ET (f, h).
(7.2)
h
Nesse caso, a equao (7.2) uma aproximao da derivada em x0 pela esquerda, conhecida como diferena regressiva ou anterior e denotada por D (h).
Alternativamente, quando o valor de h pequeno, podemos considerar uma
nova aproximao da derivada de f (x) no ponto x0 por meio da reta que passa
pelos pontos (x0 h, f (x0 h)) e (x0 + h, f (x0 + h)), resultando na diferena:
f (x0 )

f (x0 + h) f (x0 h)
+ ET (f, h).
(7.3)
2h
Essa aproximao da derivada conhecida como diferena central e denotada por D0 (h). A derivada central uma medida da mdia entre as derivadas
regressiva e progressiva.
Para obtermos o erro de truncamento devido aproximao pela diferena
central, vamos considerar a expanso da funo f em uma srie de Taylor para
f (x + h) e f (x h):
f (x0 )

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

f (x)h2 f (x)h3
+
+ ,
2
6

(7.4)

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

f (x)h2 f (x)h3

+ .
2
6

(7.5)

Subtraindo (7.5) de (7.4), obtemos:

2f (x)h3
+ .
(7.6)
6
Se truncarmos a expresso anterior a partir da derivada terceira, e usando o
teorema de Taylor, temos que existe uma valor tal que |x | < h de forma
que:
f (x + h) f (x h) = 2f (x)h +

2f ()h3
.
6
Resolvendo a equao (7.7) para f (x), obtemos:
f (x + h) f (x h) = 2f (x)h +

f (x) =

f (x + h) f (x h) h2 f ()

.
2h
6

(7.7)

(7.8)

O primeiro termo direita da equao (7.8) corresponde diferena central, e


2
o segundo termo, corresponde ao erro de truncamento ET (f, h) = h f 6 () , o qual
tende a zero quando h 0.

155

mtodos de derivao numrica

De maneira geral, o que desejamos saber se a aproximao boa. Essa


questo pode ser vista de outra forma. Ou seja, dada uma funo f, para que
valor de h podemos dizer que a aproximao f (x0 ) boa? A resposta obtida
em termos de uma tolerncia, em que, para uma seqncia de valores da diferena
central D0 (hk ), com k = 1, . . ., tivermos

|D0 (hk+1 ) D0 (hk )| .

(7.9)

Na equao (7.9), a aproximao foi realizada considerando-se a diferena


central, no entanto podemos considerar, da mesma forma, as aproximaes para
os demais casos das diferenas progressiva ou regressiva.

Exemplo 7.1 Seja

f(x) = ex e o ponto x0 = 1. Determine o valor da derivada


da funo no ponto x0 considerando a diferena central, assumindo hk = 12k ,
para k = 1, 2, 3. Se considerarmos uma tolerncia = 103 , podemos garantir se

esta alcanada com 3 iteraes?


Soluo: Para o valor de k = 1, temos que o passo h1 = 1/12. Assim temos
D0 (h1 ) =

e1+1/12 e11/12
2.954511527 2.500940013
=
= 2.721429080.
2 1/12
1/6

Para k = 2, temos h2 = 1/122 = 1/144. Agora,


D0 (h2 ) =

e1+1/144 e11/144
2.954511527 2.500940013
=
= 2.718303676.
2 1/144
1/72

Para k = 3, temos h3 = 1/123 = 1/1728. Agora,


D0 (h3 ) =

e1+1/1728 e11/1728
2.719855363 2.716709203
=
= 2.718282012.
2 1/1728
1/864

Para vericarmos se a tolerncia desejada j foi alcanada, tomamos |D0 (h3 )


D0 (h2 )| = 2.166478807105 , o que mostra que a mesma foi alcanada na iterao
k = 3.

7.2 Aproximao por polinmios interpoladores


Suponha que conhecemos a tabela de pontos (xi , yi = f (xi )), i = 0, . . . , n, com
(n + 1) pontos. Vimos no Captulo 5, sobre interpolao, que podemos aproximar
a funo f (x) pelo polinmio interpolador Pn (x). Ento, possvel aproximarmos
a derivada da funo f (x) por:

156

clculo numrico

f (x)
= Pn (x).
Se Pn (x) o polinmio interpolador, o erro gerado pela interpolao dado
por:

ET (x) = f (x) Pn (x) =

1
(x)f (n+1) (), [x0 , xn ],
(n + 1)!

onde (x) = (x x0 )(x x1 ) (x xn ). Ento, a estimativa do erro para a


derivada :

ET (x) = f (x) Pn (x)


1
=
f (n+1) () (x), x = xi , [x0 , xn ].
(n + 1)!
Quando o espaamento entre os pontos da tabela uma constante h, o polinmio interpolador escolhido um polinmio de Gregory-Newton,

z
z(z 1) 2
y0 +
y0 + . . . +
1!
2!
z(z 1) . . . [z (n 1)] n
y0 ,
n!

Pn (z) = y0 +

0
.
com xi+1 xi = h e z = xx
h
Vamos considerar inicialmente o caso em que o polinmio interpolador linear,
temos que:

P1 (z) = y0 + zy0 ,
e como f (x) =

dz df
dx dz

1 df
,
h dz

obtemos:

1
y1 y0
1 dP1 (z)
= y0 =
.
f (x0 )
=
h dz
h
h
Vemos que esse resultado corresponde diferena progressiva da equao (7.1).
Fazendo o mesmo para o erro de truncamento, obtemos, neste caso:
h
f (), [x0 , x1 ].
(7.10)
2
Observe que no sabemos nem o valor do ponto , nem a derivada segunda,
mas da expresso (7.10) vemos que o erro de truncamento da ordem O(h). Se o
valor da derivada segunda no variar muito no intervalo, podemos reduzir o erro
pela metade tomando um novo valor de h como sendo h/2, e assim sucessivamente.
ET (x) =

mtodos de derivao numrica

157

Podemos considerar o mesmo procedimento, tomando agora polinmios de


ordem superior. No caso do polinmio de segunda ordem P2 (z), obtemos para a
derivada de primeira ordem no ponto x0 :

1
P2 (z) = y0 + zy0 + z(z 1)2 y0
2
1
1
f (x) = [y0 + (2z 1)2 y0 ].
h
2

(7.11)

Agora, considerando x = x0 , obtemos z = 0, e ento

1
f (x0 )
(4y1 3y0 y2 ).
=
2h

(7.12)

Se desejarmos estimar a deriva no ponto x = x1 , teremos z = 1 e ento da


expresso (7.11) obtemos:

1
f (x1 )
(y2 y0 ).
=
2h

(7.13)

Por m, ainda podemos estimar a derivada primeira no ponto x = x2 , onde


z = 2, resultando em

1
f (x2 )
(y0 4y1 + y2 ).
=
2h

(7.14)

Note que o resultado da deriva no ponto x = x0 equivalente a tomarmos a


diferena progressiva para trs pontos. possvel estimarmos a derivida primeira
em um ponto qualquer da tabela, ou seja, x [x0 , x2 ] considerando o valor de
0
z = xx
.
h
Aps alguma manipulao, podemos vericar que o erro de truncamento para
a derivada primeira no ponto x0 dado por:

h2
f (), [x0 , x2 ].
3
Veja que agora o erro da ordem O(h2 ). Note que podemos ainda obter a
derivada primeira com base nos polinmios de ordens superiores.
ET (x) =

Exerccio 7.1 Deduza o resultado da derivao aproximada pela diferena central para o caso de aproximao da funo pelo polinmio de Gregory-Newton de
segunda ordem. Qual a expresso para o erro de truncamento?

158

clculo numrico

7.3 Derivadas de ordem superior


A aproximao das derivadas de ordem superiores pode ser obtida seguindo-se
o mesmo raciocnio. Se considerarmos a aproximao da funo por um polinmio interpolador de Gregory-Newton de segunda ordem, neste caso teremos trs
pontos, aps algumas manipulaes obtemos:

y2 2y1 + y0
,
f (x0 )
=
h2
e o erro de truncamento associado ser:
ET (x0 ) = hf ().
Observe que podemos obter tambm ainda as derivadas segundas nos pontos
x1 e x2 . De forma anloga, a derivada segunda pode ser obtida a partir do
polinmio de Gregory-Newton com ordens superiores a dois.
Para a estimativa da derivada terceira, devemos considerar, pelo menos, o
polinmio de ordem trs. Neste caso, aps algumas manipulaes, obtemos:

y3 3y2 + 3y1 y0
f (x0 )
.
=
h3
Observe que podemos obter tambm ainda as derivadas terceiras nos pontos
x1 , x2 e x3 . De forma anloga, a estimativa da derivada terceira pode ser obtida
a partir do polinmio de Gregory-Newton com ordens superiores a trs.

Exerccio 7.2 Deduza as aproximaes e os erros de truncamentos para as de-

rivadas de ordem dois e trs apresentadas acima e, determine tambm estas derivadas considerando polinmios de Greogory-Newton de ordem imediatamente
superiores, nos respectivos casos.

Exemplo 7.2 Usando a tabela, determine o valor de f (1, 4).


x
1, 2
1, 3
1, 4
1, 5
1, 6
f(x) 1, 5095 1, 6984 1, 9043 2, 1293 2, 3756

Soluo: considerando a aproximao por um polinmio de primeiro grau, a


diferena progressiva aproxima o valor da derivada por:
f (1, 4)
=

f(1, 5) f(1, 4)
= 2, 2500.
0, 1

Considerando a aproximao por um polinmio de grau dois, a derivada


aproximada por uma diferena progressiva dada por
1
f (1, 4)
[3f(1, 4) + 4f(1, 5) f(1, 6)] = 2, 1435.
=
0, 2

159

mtodos de derivao numrica

7.4 Extrapolao de Richardson


A partir da equao da diferena central (7.8), podemos denir o termo:

f (x + h) f (x h)
.
2h
Se o erro de truncamento, quando h 0, for conhecido podemos obter uma
boa aproximano para F (0), que corresponde derivada da funo f (x), pois:
F (h) =

lim F (h) = f (x).

h0

A funo F (h) pode ser escrita como

h2 f ()
+ O(h4 ).
6
Se considerarmos um passo de comprimento 2h nessa expresso, temos:
F (h) = f (x) +

4h2 f ()
+ O(h4 ).
6
Subtraindo as duas expresses, temos:
F (2h) = f (x) +

F (2h) F (h) =

3h2 f ()
+ O(h4 )
6

F (2h) F (h)
h2 f ()
=
+ O(h4 ).
3
6

(7.15)

A expresso

h2 f ()
6
corresponde ao erro de truncamento associado funo F (h), o qual pode ser
estimado pela expresso do lado esquerdo da equao (7.15).
Usando a equao (7.15) na expresso para F (h), obtemos:
ET (F (h)) =

F (h) = f (x) +

F (2h) F (h)
+ O(h4 ),
3

que nos d a derivada

F (h) F (2h)
+ O(h4 ).
(7.16)
3
Observe que a derivada na expresso (7.16) possui um erro de truncamento
da ordem de O(h4 ), em vez de O(h2 ) como na frmula da diferena central (7.8).
f (x) = F (h) +

160

clculo numrico

O mtodo para obteno da derivada primeira de ordem superior no erro, com


base em uma frmula de derivao de ordem inferior, conhecido como extrapolao. A derivada f (x) dada pela frmula (7.16) conhecida como extrapolao
de Richardson.
Podemos mostrar que o mtodo de extrapolao de Richardson para derivadas
resulta em erros de truncamento que so sempre potncias pares de h.

Exemplo 7.3 Seja

f(x) = ex e x0 = 1. Se usarmos a diferena central para


aproximarmos a derivada da funo f (x0 ) para os valores de h = 0, 2 e h = 0, 4,
obtemos para a funo F(h), respectivamente,
h
F(h)
0, 2 2, 736439985
0, 4 2, 791351458

O erro de truncamento em F(0, 2) estimado como


F(0, 2) F(0, 4)
= 0, 01830382415,
3
e agora podemos obter o valor da derivada da funo f no ponto x0 = 1 :
ET (F(0.2)) =

f (1) F(0, 2) + ET (F(0, 2)) = 2, 718136161.

Observe que o valor absoluto do erro do clculo da derivada f (1) pelo mtodo
de Richardson de 1, 456674580 104 .

7.5 Exerccios propostos


1. Implemente um operador para calcular as derivadas primeiras de uma funo pelo mtodo das derivadas progressivas, central e regressiva.
2. Determine a derivada da funo f (x) = cos(x) 2 , no ponto x = 1, uti10ex

lizando os operadores denidos no exerccio anterior, para os passos h =


1; 0, 1; 0, 001.
3. Considere as funes f (x) = sen x e g(x) = cos x e calcule o valor aproximado da derivada primeira dessas funes no ponto x = /3, usando o
mtodo da diferena central com h = 0, 01.
x

e
4. Determine a derivada segunda da funo f (x) = cos x+sen
, no ponto x = 1,
x
para os passos h = 0, 2; 0, 1; 0, 05; 0, 01. Usando o Derive , determine a
derivada exata da funo e em seguida verique o erro de truncamento no
ponto x = 1.

mtodos de derivao numrica

161

5. Por meio de um experimento, observou-se que a corrente eltrica I(t) em


um circuito era dada pela tabela a seguir:

t
1, 0 1, 1 1, 2 1, 3 1, 4
I(t) 8, 23 7, 24 5, 99 4, 53 2, 91
Encontre o valor de I (1, 2) usando o mtodo de Richardson. Qual ser o
valor da voltagem para t = 1, 2 se a mesma dada pela equao E(t) =
0, 05 dI(t)
+ 2I(t). Utilize o Derive para resolver essa equao diferencial de
dt
forma exata e compare com o resultado aproximado obtido.

162

clculo numrico

Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L.
Roque, o, ou,
email=wlroque@gmail
.com, c=BR
Dados: 2013.08.09
12:45:06 -03'00'

Captulo 8
MTODOS DE INTEGRAO
NUMRICA

Um dos resultados mais importantes do clculo diferencial e integral o que


relaciona uma funo f (x) sua primitiva F (x). Esse resultado formalmente
construdo por meio do teorema fundamental do clculo, o qual enunciado a
seguir:

Teorema 8.1 (Teorema Fundamental do Clculo)

Seja f(x) uma funo


= f(x), ento
contnua em um intervalo [a, b] e F(x) a sua primitiva, isto , dF(x)
dx

F (x) = f(x)

f(x)dx = F(b) F(a).


a

O teorema transforma o problema da integrao pela soma de Riemann no


problema da determinao da primitiva. No entanto, a determinao da funo
primitiva F (x) nem sempre uma tarefa fcil, ou possvel analiticamente. Alm
disso, em muitas situaes prticas nem sempre temos a forma analtica da funo
a ser integrada (integrando). O que conhecemos so apenas pontos de uma tabela,
o que torna invivel a utilizao direta do teorema fundamental do clculo.
Neste captulo, vamos estudar alguns mtodos numricos para obteno de
integrais aproximadas. Os mtodos de integrao numrica esto classicados
em duas categorias:

Mtodos de Newton-Ctes, que empregam os valores de f (x), onde os valores de x esto uniformemente espaados;
Mtodo da Quadratura Gaussiana, que utiliza os pontos x com espaamentos distintos. Nesse mtodo, o espaamento determinado por certas
propriedades de polinmios ortogonais.

164

clculo numrico

Entre as tcnicas do mtodo de Newton-Ctes, veremos as seguintes:

Regra dos trapzios simples e composta;


Primeira e a segunda regras de Simpson, simples e composta.
Para a obteno da frmula de Newton-Ctes, utilizaremos o polinmio interpolador de Gregory-Newton para aproximar a funo do integrando, tomando

z
z(z 1) 2
y0 +
y0 + . . . +
1!
2!
z(z 1) . . . [z (n 1)] n
y0 + Rn ,
n!

Pn (z) = y0 +

onde Rn o resduo da aproximao pela interpolao e z =


do resduo dada por:

xx0
.
h

z(z 1)(z 2) . . . (z n)hn+1 f n+1 ()


Rn =
, a b.
(n + 1)!

(8.1)
A expresso

(8.2)

Fazendo a aproximao da funo f (x) no integrando por um polinmio de


Gregory-Newton e, resolvendo a integral, obtemos as frmulas de Newton-Ctes.

8.1 Regra dos trapzios


Para determinarmos a regra mais simples de integrao numrica, vamos considerar o polinmio de Greogry-Newton de primeiro grau. Isso signica que estaremos aproximando a funo por uma reta. Assim, fazendo n = 1 na expresso
(8.1), temos:

P1 (z) = y0 + zy0 , R1 (z) =

z(z 1)f ()
.
2!

Substituindo este polinmio na integral

I=

f (x)dx,
a

com f (x) P1 (z), temos:

z=

1
x x0
dz = dx.
h
h

(8.3)

165

mtodos de integrao numrica

Tomando os pontos extremos a = x0 e b = x1 , a integral transforma-se em

I=

z1

f (x)dx =
a

(y0 + zy0 )hdz,


z0

x0 x0
x1 x0
h
= 0, z1 =
= = 1.
h
h
h

z0 =
Logo, a integral ca:

(y0 + zy0 )hdz = h[y0 z + y0

I =
0

z 2 1
]
2 0

(8.4)

1
1
= h[y0 + (y1 y0 )] = h(y0 + y1 ).
2
2
Como o valor de h conhecido e y0 , y1 esto dados na tabela, ento o valor
da integral aproximado pela expresso (8.4), que a Regra dos Trapzios para
integrao.
A interpretao geomtrica da regra dos trapzios simples, a ilustrao da
Figura 8.1 mostra-nos o porqu desse nome.

Figura 8.1: Regra dos trapzios.


A rea compreendida pela curva da funo f (x) aproximada pela rea do
trapzio formado pela reta P1 (x). O valor dessa rea dado por:

166

clculo numrico

h
1
A = h (f (x0 ) + f (x1 )) = (y0 + y1 ),
2
2
que o resultado da regra dos trapzios.

8.1.1 Erro de truncamento


A diferena entre o valor da rea gerada por f (x) e a rea gerada pela reta
o erro de integrao. Para determinarmos o erro de truncamento na integrao
pela regra dos trapzios, devemos integrar o resduo. Assim:

z(z 1)h2
f ()hdz
2!
a
0
( 3
)
z
h3
z 2 1
=
f ()

0
2!
2
2

ET =

R1 dx =

(8.5)

h3
f (), a b.
12

Observe que na expresso do erro dada em (8.5), se f () > 0, o erro ser por
excesso, e se f () < 0, o erro ser por falta.

Exemplo 8.1 Determinar o valor da integral

3,6

, utilizando a regra dos

1
dx
3,0 x

trapzios.
Soluo: O resultado falcilmente obtido, pois sabemos que o resultado da
integral dado por:
I=

h
(y0 + y1 ),
2

mas como y = x1 , obtemos facilmente os valores:


1
0, 333333,
3, 0
1
y1 =
0, 277777,
3, 6
h = x1 x0 = 3, 6 3, 0 = 0, 6.
y0 =

Logo:
O clculo do erro :

I 0, 183333.

167

mtodos de integrao numrica

ET =

h3 2
.
12 3

Como sabemos que 3, 0 3, 6, temos:


|f ()|max =

2
2
2
=
=
.
3
33
27

Agora, o erro mximo ser


ET =

0, 63 2
1, 33333 103 .
12 27

8.1.2 Frmula composta dos trapzios


Uma forma de melhorar o valor aproximado da integral, por meio da regra
dos trapzios, dividir o intervalo [a, b] em n partes iguais e aplicar a regra dos
trapzios a cada uma dessas n partes.
Como resultado da aplicao, teremos a soma das integrais aproximadas de
cada uma das n partes:

x1

I =

x2

f (x) dx +
x0

f (x) dx + +

x1

xn

f (x) dx
xn1

h
h
h
(y0 + y1 ) + (y1 + y2 ) + + (yn1 + yn )
2
2
2
h
=
(y0 + 2y1 + 2y2 + + 2yn1 + yn ).
2
=

(8.6)

A frmula (8.6) conhecida como regra dos trapzios composta.


O erro de truncamento , ento, a soma dos erros gerados pela aplicao da
regra simples dos trapzios para cada um dos n intervalos. Dessa forma, temos:

ET = ET0 + ET1 + + ETn1 ,


onde:

ETi =
Logo:

h3
f (i ).
12

h3
f (i ).
12 i=0
n1

ET =

possvel mostrar que o erro total transforma-se na expresso

168

clculo numrico

n1
f (i )
(b a)3

ET =
f (), a b; f () = i=0
.
(8.7)
2
12n
n
onde n corresponde ao nmero de divises consideradas do intervalo [a, b]. Vemos
que, quanto maior for o nmero n de divises do intervalo, melhor a aproximao
pela regra dos trapzios composta.

Exerccio 8.1 Resolva, pela regra dos trapzios composta, a integral

3,6

, tomando o nmero de divises do intervalo de integrao igual a n = 6. Determine


o erro cometido.
1
dx
3,0 x

8.2 Regras de Simpson


As regras de Simpson consideram a aproximao da funo do integrando por
polinmios de Gregory-Newton de ordem superior.

8.2.1 Primeira regra de Simpson


Seja a integral

f (x)dx = F (b) F (a).

I=
a

A primeira regra de Simpson obtida tomando a funo f (x) por uma aproximao polinomial, usando o polinmio de Gregory-Newton de grau dois, isto
:

f (x) P2 (x),
P2 (z) = y0 + zy0 +

x x0
z(z 1) 2
y0 , z =
.
2!
h

Assim, temos:

f (x)dx

I=
a

P2 (x)dx.
a

Na aproximao por um polinmio de segundo grau, temos 3 pontos igualmente espaados. Considerando esses pontos como x0 , x1 , x2 , vemos que para
= 0 e
x0 = a e x2 = b, e como h = xi+1 xi , ento x = a z = aa
h
ba
2h
x = b z = h = h = 2.
Logo, a integral ca:

mtodos de integrao numrica

z(z 1) 2
(y0 + zy0 +
y0 )hdz
2!
a
0
[
]
)
( 3

z2
z2
z
2
h zy0 + y0 +
y0 20

2
6
4
(
)
1
h 2y0 + 2y0 + 2 y0 .
3

169

P2 (x)dx =

(8.8)

Como sabemos que

y0 = y1 y0 , 2 y0 = y2 2y1 y0 ,
substituindo na expresso da integral (8.8), obtemos

h
(y0 + 4y1 + y2 ) ,
3

(8.9)

que a primeira regra de Simpson ou tambm conhecida como a regra do 1/3.


O erro de truncamento do polinmio de segundo grau dado por:

R2 (z) =

z(z 1)(z 2)
f ()h3 .
3!

Assim, o erro de truncamento da integral torna-se:

z(z 1)(z 2)
f ()h4 dz
3!
0

2
h4
=
f ()
(z 3 2z 2 + 2z)dz
3!
0
2

ET =

(8.10)


h4
z4
f ()( z 3 + z 2 ) 20
3!
4
= 0.
=

Vemos que o erro de truncamento no depende do R2 . Dessa forma, devemos


ento considerar um resduo menor tomando R3 (z). Nesse caso:

170

clculo numrico

ET =

R3 (z)dz

(8.11)

=
0

z(z 1)(z 2)(z 3) iv


f ()h5 dz
4!

h5 iv
f (), a b.
90

Por meio dessa frmula, vemos que, se a funo f (x) for uma funo polinomial
de grau trs ou inferior, o clculo da integral via primeira regra de Simpson
exato, uma vez que f iv () zero para esses polinmios.

8.2.2 Primeira regra de Simpson composta


A regra de Simpson composta obtida considerando o intervalo [a, b] e dividindo-o em n subintervalos iguais com amplitudes h, e a cada par de subintervalos
aplicamos a regra de Simpson simples. Observe que o nmero n deve ser par para
termos um nmero par de subintervalos.
Se
considerarmos
o
intervalo
[a, b]
dividido
da
forma
{[a = x0 , x1 ], [x1 , x2 ], , [xn2 , xn1 ], [xn1 , xn = b]}, sendo um nmero par,
aplicando para cada conjunto de dois subintervalos a primeira regra de Simpson,
temos:

I1

h
(y0 + 4y1 + y2 ),
3

I2

h
(y2 + 4y3 + y4 ),
3

..
.

In/2 =

(8.12)

h
(yn2 + 4yn1 + yn ).
3

Logo, o resultado da integral a soma das vrias subintegrais, resultando em:

I = I1 + I2 + + In/2
=

h
(y0 + 4y1 + 2y2 + 4y3 + 2y4 + + 2yn2 + 4yn1 + yn ), (8.13)
3

171

mtodos de integrao numrica

que a primeira regra de Simpson composta.


A expresso (8.13) da primeira regra de Simpson composta pode ser escrita
de forma compacta como:

I=

h
y0 + 4
y2i1 + 2
y2i + yn .
3
i=1
i=1
n/2

n/21

(8.14)

O erro de truncamento associado determinado pela soma dos erros gerados


por cada uma das integrais calculadas em cada subintervalo. Dessa forma:

ET = ET1 + ET2 + + ETn/2 .


Podemos demonstrar que o valor do erro dado por:

ET =
ou, substituindo h =

ba
,
n

h5
nf iv (),
180

(8.15)

obtemos:

(b a)5 iv
ET =
f (), a b.
180n4

(8.16)

Note que o erro de truncamento nesse caso diminui com a quarta potncia do
nmero de intervalos (n4 ). Na frmula do mtodo dos trapzios, o erro caa com
o quadrado do nmero de intervalos (n2 ).

Exerccio 8.2 Determine a integral 12 e2x dx, para n = 4. Quando n = 4, temos


n/2 = 4/2 = 2 pares de subintervalos. Qual o erro associado a integral?

Exerccio 8.3 Conhecendo


os pontos tabelados de uma funo f(x), determine o

valor da integral

4
2

f(x)dx.

x 2, 0 2, 5 3, 0
3, 5
4, 0
y 41 77, 25 130 202, 25 298

8.2.3 Segunda regra de Simpson


Na primeira regra de Simpson,
utilizamos o polinmio de
Gregory-Newton de segundo grau. Agora consideraremos o polinmio de GregoryNewton de grau trs, P3 (z). A integral ento aproximada da forma:

f (x)dx

I=
a

P3 (x)dx,
a

172

clculo numrico

onde

P3 (z) = y0 + zy0 +

z(z 1) 2
z(z 1)(z 2) 3
x x0
y0 +
y0 , z =
.
2!
3!
h

Substituindo o polinmio de Gregory-Newton na integral, aps algumas manipulaes, obtemos:

3
I h(y0 + 3y1 + 3y2 + y3 ),
(8.17)
8
que a segunda regra de Simpson ou regra dos 3/8.
O erro de truncamento para a segunda regra de Simpson dado por:
ET =

3h5 iv
f (), a b.
80

(8.18)

De maneira anloga, podemos determinar a segunda regra de Simpson composta. Nesse caso, o nmero n de subintervalos deve ser mltiplo de trs, pois
necessitamos de 4 pontos para determinarmos o polinmio de Gregory-Newton
de grau trs.

8.2.4 Segunda regra de Simpson composta


De forma anloga deduo realizada para obteno da primeira regra de
Simpson composta, a segunda regra de Simpson composta dada por:

3h
(y0 + 3y1 + 3y2 + 2y3 + 3y4 + 3y5 + 2y6 + + 3yn2 + 3yn1 + yn ) (8.19)
8

onde n o nmero de subintervalos em que foi dividido o intervalo [a, b].


O erro de truncamento associado segunda regra de Simpsom composta
dado pelas somas dos erros para cada subintegral determinada. A expresso
geral do erro de truncamento torna-se:

(b a)5 iv
ET =
f (), a b.
80n4

(8.20)

Exerccio 8.4 Implemente computacionalmente a segunda regra de Simpson simples e composta.

H, ainda, outras tcnicas para integrao como a extrapolao de Romberg,


que utiliza a regra dos trapzios e a idia da extrapolao de Richardson para
diminuir o erro de truncamento; a tcnica da quadratura adaptativa, que utiliza

173

mtodos de integrao numrica

uma adpatao do tamanho do passo dependendo do intervalo que est sendo


considerado, em conjunto com a primeira regra de Simpson composta, para obter
a integral. No apresentamos tais tcnicas aqui, porm o leitor no ter diculdades em aprend-las a partir do conhecendo das tcnicas que foram apresentadas
neste captulo.

8.3 Quadratura Gaussiana


No mtodo da quadratura Gaussiana, os pontos no so escolhidos por quem
est usando o mtodo, mas por um critrio denido pelo prprio mtodo.
A idia central do mtodo da quadratura Gaussiana obter a soluo da
integral de uma funo f (x) em termos de uma soma da forma:

f (x)dx = a0 f (x0 ) + a1 f (x1 ) + + an f (xn ) =

I=
a

ai f (xi ),

(8.21)

i=0

onde os termos ai e xi so valores a serem determinados.


A imposio que devemos fazer para obter a soluo da integral que o resultado seja exato para funes polinomiais com graus (2n + 1). Observe que
temos na equao (8.21) um total de (2n + 2) parmetros a serem determinados.
O primeiro passo para estudar o mtodo da quadratura Gaussiana transformarmos o intervalo [a, b] no intervalo [1, 1]. Isso obtido fazendo uma transformao da varivel x para uma nova varivel t, da forma:

1
1
x = (b a)t + (b + a).
(8.22)
2
2
Veja que para t = 1 x = a e para t = 1 x = b. Assim, a integral ca:

f (x)dx =

F (t)dt,
1

onde f (x) = f [ 12 (b a)t + 12 (b + a)] e dx = 12 (b a)dt.


Logo:

b
a

1
f (x)dx = (b a)
2

1
1
f [ (b a)t + (b + a)]dt,
2
2
1

1
1
1
F (t) = (b a)f [ (b a)t + (b + a)].
2
2
2
A expanso em termos da funo F (t), torna-se:
Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:45:46 -03'00'

174

clculo numrico

b
a

F (t)dt = A0 F (t0 ) + A1 F (t1 ) + A2 F (t2 ) + + An F (tn ). (8.23)

f (x)dx =
1

8.3.1 Quadratura Gaussiana com n = 1


Consideremos o caso inicial para n = 1. Isso signica que teremos dois pontos
(t0 , t1 ) e a frmula (8.23) dever ser exata para polinmios de grau mximo trs.
Podemos mostrar que os pontos ai e xi independem da funo F . Assim, se
escolhermos a funo F (t) tal que:

F (t) = tk , k = 0, 1, 2, 3,
teremos:

F (t)dt = A0 F (t0 ) + A1 F (t1 ).

Agora,

k = 0

k = 1

k = 3

t1 dt = A0 t10 + A1 t11 ,

t0 dt = A0 t00 + A1 t01 ,

k = 2

t2 dt = A0 t20 + A1 t21 ,

t3 dt = A0 t30 + A1 t31 .

Resolvendo as integrais do lado esquerdo, obtemos o sistema de equaes no


lineares nas variveis A0 , A1 , t0 , t1 .

A0 + A1 = 2,
A0 t0 + A1 t1 = 0,
2
,
A0 t20 + A1 t21 =
3
A0 t30 + A1 t31 = 0.
Multiplicando a equao (8.25) por t20 , temos

(8.24)
(8.25)
(8.26)
(8.27)

175

mtodos de integrao numrica

t20 (A0 t0 + A1 t1 ) = 0.
Subtraindo esse resultado da equao (8.27), obtemos:

(A1 t1 t20 + A0 t30 ) (A0 t30 + A1 t31 ) = 0,


A1 t1 (t1 t0 )(t1 + t0 ) = 0.

(8.28)

A nica soluo vivel da equao (8.28) : t1 = t0 . A soluo t1 = 0


A0 = A1 = 0 e a soluo t0 = t1 inconsistente. Logo, tomando a nica soluo
vivel e substituindo nas demais equaes, obtemos:

A1 = A0 = 1, t0 = t1 =

1/3.

(8.29)

Retornando com os valores da soluo (8.29) na frmula da integral Gaussiana


para n = 1, vemos que:

1
1
F (t)dt = F ( ) + F ( ).
3
3
1

(8.30)

A frmula (8.30) exata para F (t), sendo qualquer polinmio de grau 3.

Exemplo 8.2 Seja a integral

I=

ex

2 /2

dx

Determine o valor da integral usando a quadratura Gaussiana para n = 1.


Soluo: Devemos inicialmente obter a funo F(t), que resulta em:
[
]
1
2 (2) 1
f
(2 (2)) t + (2 + (2))
F(t) =
2
2
2
= 2f(2t) = 2e2t

Como I = F(1/ 3) + F(1/ 3), temos:

I = 2e2(1/

3)2

+ 2e2(1/

2
3)

= 4e2/3 2, 053668476.

176

clculo numrico

8.3.2 Quadratura gaussiana para n = 2


Consideremos o caso n = 2. Isso signica que teremos trs pontos (t0 , t1 , t2 ) e
a frmula (8.23) dever ser exata para polinmios de grau mximo cinco.
Considerando a funo F (t) tal que:

F (t) = tk , k = 0, 1, 2, 3, 4, 5
teremos:

F (t)dt = A0 F (t0 ) + A1 F (t1 ) + A2 F (t2 ).

Seguindo o mesmo procedimento realizado para o caso n = 1, obtemos o


conjunto de equaes no lineares:

A0 + A1 + A2 = 2,
A0 t0 + A1 t1 + A2 t2 = 0
A0 t20 + A1 t21 + A2 t22 = 2/3
A0 t30 + A1 t31 + A2 t32 = 0
A0 t40 + A1 t41 + A2 t42 = 2/5
A0 t50 + A1 t51 + A2 t52 = 0,

cuja soluo

A0 = 8/9, A1 = A2 = 5/9, t0 = 0, t1 = t2 =

3/5.

(8.31)

A integral , ento, aproximada por:

b
a

8
5
5
f (x) dx = F (0) + F ( 3/5) + F ( 3/5).
9
9
9

(8.32)

Exerccio 8.5 Resolva a intergal do Exemplo 8.2 utilizando a quadratura Gaus-

siana para n = 2.

177

mtodos de integrao numrica

8.3.3 Procedimento geral


O mesmo processo para obtermos a quadratura Gaussiana para n = 1 pode
ser estendido para determinar a frmula geral para um n qualquer. Nesse caso,
temos:
1
F (t)dt = A0 F (t0 ) + A1 F (t1 ) + + An F (tn ).
1

Tomando agora F (t) = tk , k = 0, 1, . . . , (2n + 1), e seguindo o mesmo procedimento anterior, obtemos o sistema de equaes no lineares:

A0 + A1 + + An = 2,

(8.33)

A0 t0 + A1 t1 + + An tn = 0,

(8.34)

A0 t20 + A1 t21 + + An t2n = 2/3,


..
.
2n+1
2n+1
2n+1
A0 t0
+ A 1 t1
+ + An tn
= 0.

(8.35)
(8.36)

A soluo do sistema anterior para as variveis t, corresponde s razes de um


conjunto de polinmios conhecidos como polinmios de Legendre, cuja denio
:

Denio 8.1 Os polinmios de Legendre so determinados pela relao de re-

corrncia:

P0 (x) = 1,
P1 (x) = x,
Pm+1 (x) =

1
[(2m + 1)xPm (x) mPm1 (x)] ,
m+1

com m = 1, 2, . . . .
Os polinmios de Legendre P2 (x), P3 (x) e P10 (x) so apresentados abaixo.

1
P2 (x) = (3x2 1),
2
x
P3 (x) = (5x2 3),
2
1
(46189x10 109395x8 + 90090x6 30030x4 + 3465x2 63).
256
Podemos determinar as solues para as equaes P2 (x) = 0 e P3 (x) = 0,
P10 =

178

clculo numrico

P2 (x) = 0 x =

1
,
3

P3 (x) = 0 x = 0 ou x =

(8.37)

3
.
5

(8.38)

Observe que as razes dos polinmios de Legendre P2 (x) e P3 (x) correspondem


exatamente aos valores de t0 e t1 para a quadratura Gaussiana, quando n = 1 e
de t0 , t1 e t2 para a quadratura Gaussiana, quando n = 2, respectivamente. A
soluo do sistema obtida aps substituirmos os valores dos t s e resolvermos
para os coecientes A s.
Tabela 8.1: Quadratura Gaussiana.
n k
0 1
1 2
2 3
3 4
4 5

tk (tk1i = ti )
t0 = 0, 0
t1 = t0 = 0, 5773502691
t0 = t2 = 0, 7745966692
t1 = 0, 0
t0 = t3 = 0, 8611363115
t1 = t2 = 0, 3399810435
t0 = t4 = 0, 9061798459
t1 = t3 = 0, 5384693101
t2 = 0, 0

A0
A1
A0
A1
A0
A1
A2

Ak (Ak1i = Ai )
A0 = 2, 0
A0 = A1 = 1, 0
= A2 = 0, 5555555555
= 0, 8888888888
= A3 = 0, 3478548451
= A2 = 0, 6521451548
= A4 = 0, 2369268850
= A3 = 0, 4786286704
= 0, 5688888888

A Tabela 8.1 mostra os valores para a quadratura Gaussiana at n = 4.

8.3.4 Erro de truncamento


O erro de truncamento para a quadratura Gaussiana com n = 1 (k = 2)
dado por:

1 iv
F (), 1 1.
(8.39)
135
No caso geral, o erro de truncamento para funes contnuas determinado
pela relao a seguir, e a quadratura Gaussiana converge para o valor exato da
integral [Szidarovszky, 89], quando k :
ET =

ET =

22k+1 k!4
F 2k (), 1 1,
(2k + 1)[(2k)!]3

onde k corresponde ao nmero de pontos.

(8.40)

179

mtodos de integrao numrica

Exerccio 8.6 Qual o valor do erro de truncamento para o exemplo 8.2 resolvido

anteriormente?

Exerccio 8.7 Implemente computacionalmente o mtodo da quadratura Gaus-

siana para qualquer valor de n dado na tabela. Em seguida, determine a integral


de f(x) = sen (5x), x = [0, ], tomando a quadratura Gaussiana para n = 1, 2, 3, 4.

8.4 Integrais imprprias


Integrais imprprias surgem com muita frequncia em diversos problemas aplicados. Tais integrais surgem quando o integrando apresenta uma singularidade
em um dos extremos do intervalo de integrao ou ainda quando pelo menos um
dos extremos do intervalo de integrao innito. Em ambas as situaes as tcnicas apresentadas para integrais prprias no podem ser diretamente aplicadas,
requerendo modicaes para resoluo das mesmas.
Vamos considerar os casos em que:

i)

b
A integral a ser estimada do tipo a f (x)dx, onde o integrando no est
denido no ponto extremo x = b, mas bem denida em qualquer intervalo
[a, b ], com 0 < < b a. Estamos ento supondo que a integral

lim
0

ii)

f (x)dx,

(8.41)

b
existe. Neste caso, denotamos (8.41) por a f (x)dx e dizemos que a integral
1
converge. Um exemplo de integrao com singularidade 0 1x dx = 2. J
1
a integral 0 x1 dx no converge para um valor nito.

A integral a ser estimada do tipo a f (x)dx, com o integrando est denido


sobre qualquer intervalo nito [a, b] e

lim

f (x)dx,

(8.42)

existe. Neste caso, denotamos (8.42) por a f (x)dx e dizemos que a integral

converge. Um exemplo de uma integral com limite innito 1 x13 dx = 12 .


Uma maneira simples e algumas vezes til para a resoluo de ambos os casos
fazer uma mudana apropriada de varivel de modo a transformar a integral
imprpria em uma integral prpria que possa ser resolvida por uma tcnica numrica. Por exemplo, a integral imprpria

180

clculo numrico

sen x

dx,
1x

(8.43)

pode ser transformada considerando-se a mudana de varivel u =


1
du = 2u
dx dx = 2du. Logo, a integral (8.43) torna-se

sen x

dx = 2
1x

1 x, com

sen (1 u2 )du,

(8.44)

que pode ser agora resolvida usando quadratura Gaussiana, por exemplo.

8.5 Integrais mltiplas


Nas sees anteriores vimos algumas tcnicas de integrao numrica, as quais
foram aplicadas a integrais simples de funes de uma varivel. Nesta seo
veremos como possvel estender tais tcnicas para o clculo numrico de integrais
mltiplas , isto , integrais de funes em duas ou trs variveis.
Consideremos inicialmente a integral dupla dada por,

I=
f (x, y) dA,
(8.45)
R

onde R = {(x, y); a x b, c y d}, com a, b, c e d constantes, denindo


uma regio retangular no plano xy e dA o elemento de rea.

8.5.1 Aplicando a primeira regra de Simpson composta


Vamos utilizar a primeira regra de Simpson composta para ilustrar como podemos aproximar o valor da integral dupla (8.45). Para isso, vamos dividir a
regio R em pequenos retngulos particionando o intervalo [a, b] em um nmero
n de partes iguais e de comprimento h, e o intervalo [c, d] em um nmero m de
partes iguais e de comprimento l, da forma:

ba
dc
= h,
= l.
(8.46)
n
m
De acordo com a primeira regra de Simpson, os valores de n e m devem ser
par para podermos gerar um nmero par de subintervalos. Desta forma geramos
um conjunto de pontos x0 , x1 , . . . , xn e y0 , y1 , . . . , ym . Escrevendo a integral (8.45)
na sua forma iterada, temos:
b (


I=

f (x, y) dA =
R

)
f (x, y) dy dx.

(8.47)

181

mtodos de integrao numrica

equation
Podemos considerar a integral na varivel y e resolv-la utilizando a primeira
regra de Simpson composta dada em (8.14). Fazendo yj = c + j l com j =
0, 1, . . . , m, onde l o tamanho do passo na direo y e considerando x constante,
temos:

f (x, y) dy =
c

l
f (x, y0 ) + 2
3

m/21

f (x, y2j ) + 4

j=1

m/2

f (x, y2j1 ) + f (x, ym )

j=1

(8.48)

+ ET (f, l),
com erro de truncamento ET (f, l) dado por,

(d c)l4 4 f (x, )
ET =
, c < < d.
180
y 4

(8.49)

Agora, substituindo a expresso (8.48) na integral (8.47), temos:

I =
a


m/21

l f (x, y0 ) + 2
f (x, y2j )
3
j=1

+4

m/2

f (x, y2j1 ) + f (x, ym ) + ET (f, l) dx,

(8.50)

j=1

resultando em

m/21 b
m/2 b

l b
I =
f (x, y0 )dx + 2
f (x, y2j )dx + 4
f (x, y2j1 )dx
3 a
a
a
j=1
j=1

+
a

(d c)l4
f (x, ym )dx
180

b
a

4 f (x, )
dx.
y 4

(8.51)

Resolvendo cada uma das integrais da expresso (8.51) usando a primeira


regra de Simpson composta, considerando agora xi = a + ih, com i = 0, 1, . . . , n
e onde h o tamanho do passo, teremos para cada j ,

182

clculo numrico

f (x, yj )dx =
a

h
f (x0 , yj ) + 2
3

n/21

f (x2i , yj ) + 4

n/2

i=1

f (x2i1 , yj ) + f (xn , yj )

i=1

(b a)h4 4 f (j , yj )
, a < j < b.
180
x4

(8.52)

Portanto, a aproximao da integral dupla iterada resulta em

b
a

d
c

n/21

hl
f (x0 , y0 ) + 2
f (x, y)dy dx
f (x2i , y0 )
9
i=1

+ 4

n/2

f (x2i1 , y0 ) + f (xn , y0 )

i=1

m/21

+2

m/21 n/21

f (x0 , y2j ) + 2

j=1

j=1

m/21 n/2

+ 4

j=1

f (x2i , y2j )

i=1

m/21

f (x2i1 , y2j ) +

i=1

f (xn , y2j )

j=1

m/2
m/2 n/21

f (x0 , y2j1 ) + 2
f (x2i , y2j1 )
+4
j=1

+ 4

m/2 n/2

j=1

f (x2i1 , y2j1 ) +

j=1 i=1

i=1
m/2

f (xn , y2j1 )

j=1

n/21

+ f (x0 , ym ) + 2

f (x2i , ym )

j=1

+ 4

n/2

i=1

f (x2i1 , ym ) + f (xn , ym ) ,

com erro de truncamento dado, aps alguns clculos, por

(8.53)

183

mtodos de integrao numrica

]
e
f (,
e)
(d c)(b a) 4 f (, )
h
+ l4
,
ET =
4
4
180
x
y
4

(8.54)

e
with , , ,
e values in the region R.

Exemplo 8.3 Seja a funo

f (x, y) = exy com 0 x 1 e 0 y 1. Deter-

mine a integral dupla iterada utilizando a primeira regra de Simpson composta


com n = 4 e m = 2.

Soluo: Como n = 4 temos h = 10


= 0, 25, e para m = 2 temos l =
4
= 0, 5. Assim, estamos dividindo o intervalo na direo x em quatro partes
iguais e na direo y em duas partes iguais, gerando os pontos {x0 , x1 , x2 , x3 , x4 }
e {y0 , y1 , y2 }. A integral a ser resolvida ento:
10
2

ex y dy dx

I=
0

Os valores da funo em cada ponto (xi , yj ), i = 0, . . . , 4, y = 0, 1, 2 so


obtidos tomando f (xi , yj ) = exi yj .
De acordo com a equao (8.53), temos:

184

clculo numrico

0, 25 0, 5
exi yj dy dx
9
2

+4
+2

{[
f (x0 , y0 ) + 2

f (x0 , y2j ) + 2

j=1

0
1

0
2

[ 1

f (x2i1 , y2j ) +

f (x0 , y2j1 ) + 2

]
f (xn , y2j )

1
1

f (x2i1 , y2j1 ) +

j=1 i=1

+ f (x0 , ym ) + 2

f (x2i , y2j1 )
]

f (xn , y2j1 )

j=1
1

i=1

+ 4

j=1 i=1

1
2

f (x2i , y2j )

j=1

j=1

+ 4

j=1 i=1

j=1 i=1

+4

f (x2i , y0 )

i=1

f (x2i1 , y0 ) + f (x4 , y0 )

i=1
[ 0

+ 4

f (x2i , ym )
]}

f (x2i1 , ym ) + f (xn , ym )

i=1

Como temos apenas a aplicaoda primeira regra de Simpson simples na direo y , pois m = 2, os termos com 0j=1 no se aplicam, devendo ser considerados
iguais a zero na expresso acima. Portanto, calculando cada um dos termos da
expresso temos:

mtodos de integrao numrica

185

f (x0 , y0 ) = ex0 y0 = e0 = 1,
1

f (x2i , y0 ) = f (x2 , y0 ) = e0 = 1,
i=1
2

f (x2i1 , y0 ) = f (x1 , y0 ) + f (x3 , y0 ) = e0 + e0 = 2,

i=1

f (x4 , y0 ) = e0 = 1,
1

f (x0 , y2j1 ) = f (x0 , y1 ) = e0 = 1,


j=1
1
1

f (x2i , y2j1 ) = f (x2 , y1 ) = e0,50,5 = 1, 284025416,

j=1 i=1
1
2

f (x2i1 , y2j1 ) =

j=1 i=1
0,250,5

[f (x1 , y2j1 ) + f (x3 , y2j1 )] = f (x1 , y1 ) + f (x3 , y1 )

j=1
0,750,5

=e
+e
= 2, 588139867,
1

f (x4 , y2j1 ) = f (x4 , y1 ) = e0,5 = 1, 648721270,


j=1

f (x0 , y2 ) = e0 = 1,
1

f (x2i , y2 ) = f (x2 , y2 ) = e0,51.0 = 1, 648721270,


i=1
2

f (x2i1 , y2 ) = f (x1 , y2 ) + f (x3 , y2 ) = e0,251,0 + e0,751,0

i=1

= 1, 284025416 + 2, 117000016 = 3, 401025432,


f (x4 , y2 ) = e1,0 = 2, 718281828.

Substituindo agora os valores acima na expresso (8.55), obtemos:

ex y dy dx 1, 318016005.

I=
0

Exerccio 8.8 Resolva a intergal

12
0

cos (x + y)dy dx, usando a primeira regra

de Simpson composta com n = 4 e m = 4.

Uma extenso da aplicao da primeira regra de Simpson composta pode ser


efetuada para obteno da integral tripla iterada, utilizando para isso o mesmo
procedimento adotado.

186

clculo numrico

f (x, y, z)dz dy dx,


a

(8.55)

Observe que neste caso, teremos ao nal uma expresso formada por 64 termos. Da mesma forma, podemos tambm obter a aproximao das integrais
triplas iteradas utilizando a segunda regra de Simpson composta. As dedues
destas aproximaes so deixadas como exerccios para o leitor.

8.5.2 Aplicando a quadratura Gaussiana


A resoluo da integral dupla iterada pode ser efetuda utilizando-se tambm a
tcnica da Quadratura Gaussiana, vista na Seo 8.3. A metodologia de aplicao
da quadratura Gaussiana semelhante ao que foi realizado com a utilizao da
primeira regra de Simpson composta.
Vejamos a aplicao para o caso da quadratura Gaussiana com n = 1, isto ,
utilizaremos o resultado apresentado na equao (8.30). Seja

I=

f (x, y)dy dx.


a

(8.56)

Considerando, inicialmente, a integral na varivel y , mantendo x constante,


temos que resolver,

f (x, y)dy.

(8.57)

Fazendo a mudana de varivel

1
1
y = (d c)v + (d + c),
2
2

(8.58)

temos:

f (x, y)dy =
1

1
1
1
(d c) f [x, (d c)v + (d + c)] dv.
2
2
2

(8.59)

Denindo a funo,

1
1
1
F (x, v) = (d c) f [x, (d c)v + (d + c)],
2
2
2
e aplicando a quadratura para n = 1, obtemos:

f (x, y)dy = F (x, v0 ) + F (x, v1 ),


c

(8.60)

(8.61)

187

mtodos de integrao numrica

onde usamos A0 = A1 = 1 e consideramos v0 = v1 =


Tabela 8.1.

1/3, provenientes da

Agora a integral (8.56), torna-se

I=

[F (x, v0 ) + F (x, v1 )]dx.

(8.62)

Considerando outra mudana de varivel da forma

1
1
x = (b a)u + (b + a),
2
2

(8.63)

temos:

I =

F (x, v0 ) dx +
a

F (x, v1 ) dx
a

=
1

1
1
1
(b a)F [ (b a)u + (b + a), v0 ] du
2
2
2
1

+
1

1
1
1
(b a)F [ (b a)u + (b + a), v1 ] du.
2
2
2

(8.64)

Denindo-se,

1
1
1
G(u, v) = (b a) F [ (b a)u + (b + a), v],
2
2
2

(8.65)

a integral torna-se:

I=
1

G(u, v0 )du +

G(u, v1 )du,

(8.66)

que utilizando a Tabela 8.1 para a quadratura Gaussiana com n = 1 na varivel


u, obtemos:

188

clculo numrico

I = G(u0 , v0 ) + G(u1 , v0 ) + G(u0 , v1 ) + G(u1 , v1 )


=

1
1
1
1
1
(b a)(d c)f [ (b a)u0 + (b + a), (d c)v0 + (d + c)]
4
2
2
2
2

1
1
1
1
1
(b a)(d c)f [ (b a)u1 + (b + a), (d c)v0 + (d + c)]
4
2
2
2
2

1
1
1
1
1
(b a)(d c)f [ (b a)u0 + (b + a), (d c)v1 + (d + c)]
4
2
2
2
2

1
1
1
1
1
(b a)(d c)f [ (b a)u1 + (b + a), (d c)v1 + (d + c)].(8.67)
4
2
2
2
2

Substituindo
na
expresso
(8.67)
os
valores
de
u
=
u
=
1/3, e v0 =
0
1

v1 = 1/3, obtemos nalmente a expresso da integral dupla iterada por meio


da Quadratura Gaussiana de ordem n = 1 para ambas as variveis.

Exemplo 8.4 Seja a funo

f (x, y) = exy com 0 x 1 e 0 y 1. De-

termine a integral dupla iterada utilizando a Quadratura Gaussiana de ordem


n = 1.
Soluo: Como n = 1 utilizaremos diretamente o resultado dado em (8.67).
Temos que, a = 0, b = 1, c = 0, d = 1 e f (x, y) = ex y . Assim,
1 1
1 1
1
f[
1/3 + ,
1/3 + ]
4 2
2 2
2

1
=
f [ 1/12 + 1/2, 1/12 + 1/2]
4
1 (1/12+1/2)2
=
e
= 0, 4656663477,
4

G(u0 , v0 ) =

G(u0 , v1 ) = 0, 2614175968
G(u1 , v0 ) = 0, 2614175968
G(u1 , v1 ) = 0, 2614175968,

portanto, a integral resulta em

ex y dy dx 1, 317764150.

I=
0

189

mtodos de integrao numrica

Exerccio 8.9 Resolva o exerccio 8.8 usando a tcnica da quadratura Gaussiana

com n = 1.

Exerccio 8.10 Implemente computacionalmente a tcnica da quadratura Gaussiana para n = 1.

Um extenso da quadratura Gaussiana para ordens superiores (n = 2, 3, )


pode ser facilmente conduzida seguindo-se o mesmo procedimento realizado para
a obteno da integral dada em (8.67). No entanto, o leitor deve estar atento
ordem da expanso que foi escolhida, uma vez que os coecientes da expanso so
distintos e esto dados na Tabela 8.1. Para a integral dupla iterada, a quadratura
Gaussiana com n = 2 gera, ao nal, uma expresso com 9 termos. O mesmo
procedimento pode ser aplicado para obteno da aproximao para a integral
tripla iterada, que para n = 1 gera, ao nal, 8 termos. Deixamos para o leitor a
tarefa de deduzir as expresses da quadratura Gaussiana para estes casos.

8.6 Exerccios propostos


1. Determine o valor da integral usando a regra dos trapzios simples e, em
seguida, a regra composta dos trapzios com h = 1.

I=
0

dx
.
1 + 3xex2

1
2. Qual o valor da integral 0 x24+1 dx, usando a primeira regra de Simpson?
Utilize o Derive para determinar o valor exato da integral e, em seguida,
compare ao valor obtido com a regra de Simpson.
3. Mostre que a primeira regra de Simpson exata para polinmios cbicos
no intervalo [h, h].
com um ngulo com respeito
4. O perodo de um pndulo largado do repouso

L
vertical dado pela relao: P = 4 g I , onde L o comprimento do
pndulo, g a constante gravitacional, e I a integral

/2

I=
0

com a =
Simpson.

sen (/2)
.
2

1
1 a2 sen 2 (x)

dx,

Determine o valor da integral pela segunda regra de

190

clculo numrico

5. Utilize a implementao da quadratura Gaussiana desenvolvida no exerccio


8.7 para determinar as integrais dos exerccios 1 e 2, tomando dois e trs
pontos (k = 2, 3). Em seguida, resolva a integral I do problema do pndulo
acima para 5 pontos (k = 5).
6. Resolva as integrais utilizando a tcnica da primeira regra de Simpson composta com n = m = 4 e a tcnica da quadratura Gaussiana com n = 1.

2.0

1.2

e2x+y dy dx.
0

Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:46:29 -03'00'

Captulo 9
RESOLUO NUMRICA DE
EDO'S

Equaes diferenciais surgem em muitas aplicaes, nas mais diversas reas


do conhecimento. Em particular, na Fsica, nas Engenharias, na Biomatemtica
e na Economia, as equaes diferenciais desempenham um papel fundamental na
formulao dos modelos.
Uma equao diferencial uma equao que envolve uma funo desconhecida
e suas derivadas. A equao diferencial ordinria quando envolve apenas derivadas ordinrias da funo. Quando derivadas parciais esto presentes na equao,
estas so chamadas de equaes diferenciais parciais. A ordem de uma equao
diferencial denida pela ordem mais elevada da derivada que est presente na
equao. Assim, a equao diferencial de primeira ordem se existe apenas
derivada primeira da funo na equao, e assim sucessivamente.
Neste captulo, vamos estudar alguns mtodos de resoluo numrica de equaes diferenciais ordinrias de primeira ordem e, posteriormente, de ordens superiores.
Seja f (x, y) uma funo real nas variveis x e y .

Denio 9.1 Uma equao diferencial ordinria de primeira ordem dada por
y = f(x, y),

onde y =

dy
dx

(9.1)

e y = y(x) uma funo desconhecida.

Em geral, a equao (9.1) possui innitas solues.

Exemplo 9.1 Seja a equao diferencial de primeira ordem y = y. Essa equa-

o satisfeita para y(x) = c ex , onde c uma constante arbitrria. Temos,


portanto, uma famlia de solues para a equao.

192

clculo numrico

Denio 9.2 Um problema do valor inicial formado por uma equao diferencial e uma condio inicial, de tal forma que:
y = f(x, y), y(x0 ) = y0 .

(9.2)

A soluo nica do problema do valor inicial garantida pelo teorema de


Lipschitz.

Teorema 9.1 (Teorema de Lipschitz) Seja uma funo f(x, y) denida e contnua em um intervalo a x b e < y < , com a e b valores nitos. Se
a funo f satisfaz a condio de Lipschitz, de existir uma constante L tal que
|f(x, y) f(x, y )| L|y y |, x [a, b], y, y ,

ento para qualquer valor inicial y0 existe uma nica soluo do problema do
valor inicial
y = f(x, y), y(a) = y0 .

Em outras palavras, o teorema de Lipschitz garante que, para todos os pontos


(x0 , y0 ) com x0 [a, b], existe uma nica funo y(x) tal que a mesma satizfaz a
equao diferencial y = f (x, y).

Exemplo 9.2 Seja a equao diferencial do exemplo (9.1). Vemos que h inni-

tas solues, pois c uma constante arbitrria. No entanto, o problema do valor


inicial com a condio y(0) = 1 conduz a uma nica soluo dada por y(x) = ex .

9.1 Resoluo do problema do valor inicial


O teorema de Lipschitz garante a existncia e a unicidade da soluo do problema do valor inicial, no entanto, no garante que teremos uma soluo explcita
de forma fechada da equao. Assim, em muitas ocasies a soluo do problema
do valor inicial deve ser obtida de forma numrica.
Nesta seo, vamos estudar algumas tcnicas que podem ser aplicadas para
resolver o problema do valor inicial de primeira ordem.

9.1.1 Mtodo da srie de Taylor


A srie de Taylor de uma funo f (x) pode ser empregada para determinar
de forma aproximada a soluo de um problema do valor inicial dado por (9.2).
Para simplicar a notao, vamos adotar aqui que a derivada parcial com respeito a uma varivel indicada pela letra correspondente varivel em subscrito.
Isto , se temos a funo f (x, y(x)), denotamos:

resoluo numrica de edo's

193

f (x, y)
f (x, y)
2 f (x, y)
, fy (x, y) =
, fxy (x, y) =
,
x
y
yx
e assim sucessivamente.
Se considerarmos a equao diferencial em (9.2) e tomarmos as derivadas
sucessivas da expresso, teremos:
fx (x, y) =

y (x) = f (x, y(x)),


y (x) = fx (x, y(x)) + fy (x, y(x)) y (x),
y (x) = fxx (x, y(x)) + 2fxy (x, y(x)) y (x),

(9.3)

+ fyy (x, y(x)) y 2 (x) + fy (x, y(x)) y (x),


..
..
.
.
Calculando o valor dos termos nas equaes (9.3) para x = x0 e y = y0 ,
podemos obter uma aproximao da funo y(x) por meio da srie de Taylor da
forma:

y (x0 )
y (k) (x0 )
(x x0 ) + +
(x x0 )k .
(9.4)
1!
k!
(Note que o) erro de truncamento associado equao (9.4) da ordem de
O (x x0 )k+1 . Em outras palavras, se tivermos a diferena |x x0 | muito
grande, o erro ser tambm muito grande, e assim num intervalo [x0 , b] de comprimento moderado podemos ter um erro relativamente grande, tornando a aplicao
do mtodo insatisfatria.
y(x) y(x0 ) +

Exemplo 9.3 Seja o problema do valor inicial


y (x) = x2 + y2 , y(0) = 0.

Usando o mtodo da srie de Taylor at a quinta ordem, temos que:


f(x, y(x))
y (0)
y (x)
y (x)
y(4) (x)
y(5) (x)

=
=
=
=
=
=

x2 + y 2 ,
02 + y(0)2 = 0,
2x + 2yy y (0) = 2 0 + 2 y(0) y (0) = 0,
2 + 2y2 + 2yy y (0) = 2,
6y y + 2yy(3) y(4) (0) = 0,
6y2 + 8y y(3) + 2yy(4) y(5) (0) = 0.

Substituindo os valores acima na equao (9.4), obtemos a soluo aproximada

194

clculo numrico

y(x)

2x3
x3
= .
3!
3

Vrios sistemas computacionais dispem de facilidades para resoluo de equaes diferenciais ordinrias. Hoje, temos alguns sistemas de computao algbrica
com enorme capacidade de resoluo de equaes diferenciais de forma puramente
simblica, como por exemplo o maple e o mathematica.

Exerccio 9.1 Implemente computacionalmente o mtodo da srie de Taylor.


Exerccio 9.2 Verique que o problema do valor inicial

y = x3 + y2 , y(0) = 0

no possui soluo analtica. Dessa forma, a soluo aproximada numericamente


importante. Qual a soluo pelo mtodo da srie de Taylor?

Para contornar o problema do erro de truncamento citado, o mtodo da srie


de Taylor pode ser modicado de tal forma que sua acurcia seja melhorada.
Para isso, considera-se que a expanso da srie feita ao longo de uma seqncia
de valores de x, de tal forma que |xi+1 xi | seja um valor pequeno.
0)
, onde n > 1 um
Se denirmos o comprimento do intervalo por h = (bx
n
inteiro, e [x0 , b] o intervalo-soluo, com base nessa denio, podemos obter a
seqncia de pontos
xi = x0 + ih, i = 0, , n.
Portanto, entre os pontos xi e xi+1 , a soluo pode ser aproximada pela srie

y (xi )
y (k) (xi )
(x xi ) + +
(x xi )k .
(9.5)
1!
k!
A aproximao nos d um mtodo para determinarmos a soluo aproximada
para o problema do valor inicial caminhando ao longo do eixo x com passos h,
partindo-se do ponto inicial x0 . Assim, podemos ver que no intervalo [x0 , x1 ] a
srie de Taylor com i = 0 nos d uma aproximao de y(x). Em particular, se
desejamos o valor para x = x1 , obtemos:
y(x) y(xi ) +

y (k) (x0 ) k
y (x0 )
h + +
h .
y(x1 ) = y1 y0 +
1!
k!
Esse procedimento estabelece um algoritmo para obtermos os valores sucessivos de y(x) nos pontos da seqncia de tal forma que, para um valor y(xi+1 ),
temos:
y
yi
h + + i hk ,
(9.6)
1!
k!
onde as derivadas so obtidas a partir da equao (9.3) avaliadas para os pontos
x = x i , y = yi .
(k)

yi+1 yi +

resoluo numrica de edo's

Exerccio 9.3 Implemente computacionalmente a equao


raes.

195
(9.6) para k = 3 ite-

9.1.2 Mtodo de Euler


O mtodo de Euler bastante intuitivo e parte da idia de que, se no
possvel determinarmos a soluo y(x) para todos os valores de x [x0 , b], ento procuramos calcular aproximaes yi da funo y(x) para uma seqncia de
pontos xi , i = 1, . . . , n no intervalo.
O mtodo assume que o espaamento entre os pontos xi mantido constante.
Assim, podemos escrever:

xi = x0 + ih, i = 1, . . . , n,
onde o valor h denominado tamanho do passo. Observe que o tamanho do passo
determinado da forma
(b a)
h=
,
n
com n 1 um valor inteiro.
Se considerarmos a srie de Taylor dada em (9.6), para o valor k = 1, temos

yi+1 = yi + hyi .
Essa equao pode ser reescrita da forma

yi+1 = yi + hf (xi , yi ),

(9.7)

onde usamos yi = f (xi , yi ). A equao (9.7) recursiva, podendo ser usada para
estimarmos y1 , y2 , . . ., partindo-se da condio inicial y0 = y(x0 ).
A frmula recursiva (9.7) chamada de mtodo de Euler para soluo do problema do valor inicial. Observe que, na recurso de Euler, no h necessidade de
fazermos qualquer derivao.
Embora o mtodo de Euler seja bastante simples, o mesmo pouco utilizado
para a soluo numrica do problema do valor inicial, j que h outros mtodos,
como veremos adiante, que possuem uma melhor ecincia e acurcia. Como
tudo tem custos e benefcios, os outros mtodos so mais complicados, porm
computacionalmente melhores.

Exerccio 9.4 Implemente computacionalmente o mtodo de Euler. A seguir,


determine a soluo do problema do valor inicial y = x2 + y2 , y(0) = 0, para o
intervalo [0, 1] com passo h = 0, 1.

196

clculo numrico

Exemplo 9.4 O problema do valor inicial dado por

y = Ry, y(0) = y0 no
intervalo [0, b] e com R uma constante conhecido como modelo do juro composto

usado para determinar a correo de uma poupana, por exemplo, no perodo do


intervalo dado. Usando o mtodo de Euler, determine o valor do investimento
inicial de cem reais, aplicado pelo perodo de cinco anos taxa de 12% ao ano.
Soluo: O problema posto da forma:
y = 0, 12y; I = [0, 5]; y(0) = 100.

Assim, temos:
y1 = 100 + 1 (0, 12 100) = 112.
y2 = 112 + 1 (0, 12 112) = 125, 44.
y3 = 125, 44 + 1 (0, 12 125, 44) = 140, 4928.
y4 = 140, 4928 + 1 (0, 12 140, 4928) = 157, 3519.
y5 = 157, 3519 + 1 (0, 12 157, 3519) = 176, 2341683.

Ao nal do quinto ano a poupana ter um saldo de R$176,2341683. Porm,


como em moeda corrente temos apenas os valores dados com duas casas decimais, referentes aos centavos, podemos perguntar o que acontece com o resduo
se o cliente s recebe 176 reais e 23 centavos? Para uma economia em escala, a
soma desses valores residuais podem representar um grande lucro para o agente
nanceiro.
Agora, podemos perguntar o que acontece se a correo for feita tomando-se
o juro composto mensalmente (passo mensal)? Fazendo-se os clculos, obtemos
que ao nal do quinto ano a poupana ter um saldo de R$181,6696698.
E se a correo for composta diariamente, qual seria o valor ao nal dos cinco
anos? Executando-se os clculos, obtemos o saldo da poupana em R$182,1939132.
Veja que neste ltimo caso foram necessrias 1.825 iteraes para obter-se o resultado. Observe que o cliente teria mais vantagem se os bancos zessem o clculo
com a correo diria, mas isso nem sempre acontece.
A interpretao geomtrica do mtodo de Euler ilustrada na Figura 9.1.
Vemos que a aproximao se d por poligonais com relao curva-soluo do
problema. Cada poligonal formada pela reta tangente ao ponto xi da seqncia
ao longo da curva-soluo.

197

resoluo numrica de edo's

Figura 9.1: Aproximao pelo mtodo de Euler.

Erros no mtodo de Euler


De forma geral, os erros de truncamento e arredondamento so os que mais
afetam os mtodos numricos de resoluo de equaes diferenciais. Os erros de
truncamento podem ser caracterizados como locais ou globais, de acordo com sua
forma.
Os erros locais tm suas origens na diferena causada entre a reta tangente
curva-soluo y(x) passando pelo ponto (xn , yn ), e o valor calculado pela aproximao yn+1 no ponto xn+1 . Olhando a ilustrao da Figura 9.1, vemos que o erro
local acontece a cada passo.

Denio 9.3 O valor do erro local pode ser determinado por:


yn+1 y(xn + h) =

h2
y (),
2

onde [xn , xn + h].


O erro de truncamento local da ordem de O(h2 ).
O erro de truncamento global mede o desvio de um ponto ao longo da curvasoluo com relao a seu correspondente na curva poligonal gerada pela soluo
aproximada.

Denio 9.4 O erro de truncamento global no ponto


diferena

xn+1 denido como a

yn+1 y(xn+1 ),

onde y(x) representa a soluo do problema do valor inicial dado.

198

clculo numrico

A ordem do erro de truncamento global O(h). Em geral, as ordens dos erros


de truncamento local e global de mtodos numricos so dadas por O(hk+1 ) e
O(hk ), respectivamente.

Exemplo 9.5 Seja o problema do valor inicial y (x) = x y, y(0) = 1. A soluo


x2

analtica desse problema dada por y(x) = e 2 . Pelo mtodo de Euler, a soluo
deste problema at ordem 4 com o passo h = 0, 1 y4 = 1, 061106. O erro de
truncamento global dado por EG = |1, 061106 1, 083287067| = 0, 02218106699.
O mtodo de Euler a aproximao linear do mtodo da srie de Taylor.
As principais vantagens do mtodo de Euler com relao ao mtodo da srie de
Taylor para ordens mais elevadas so: primeiro, no h necessidade de clculos
de derivadas; segundo, um mtodo muito fcil de ser implementado computacionalmente.

9.1.3 Mtodos de Runge-Kutta


Vimos que o mtodo da srie de Taylor requer o clculo de derivadas de
ordens elevadas da funo f (x, y), o que torna o mtodo complicado. No entanto,
possvel utilizarmos ainda esse mtodo, mas sem o contratempo do clculo das
derivadas.

Mtodo de Heun
O princpio dessa nova tcnica est no mtodo de Euler. Nesse mtodo, caminhamos ao longo da direo da reta tangente curva no ponto (xn , yn ), durante
todo o intervalo de comprimento igual ao passo, enquanto a curva-soluo comea
a desviar-se. Se, ao invs de considerarmos a derivada progressiva, tomarmos a
(e)
mdia das direes tangentes para os pontos (xn , yn ) e (xn+1 , yn+1 ), onde o (e)
denota o resultado determinado para x = xn+1 pelo mtodo de Euler, podemos
melhorar a aproximao.
A inclinao das duas retas tangentes determinada por:

y (xn , yn ) = f (xn , yn ), y (xn+1 , yn+1 ) = f (xn+1 , yn+1 ).


(e)

(e)

Se denirmos os termos
(n)

k1

= hf (xn , yn ),

(n)
k2

= hf (xn+1 , yn+1 ) = hf (xn + h, yn + k1 ),

(e)

ento, podemos dar um passo h, a partir de (xn , yn ) na direo da mdia das duas
retas tangentes, tomando
Waldir L.
Roque

Assinado de forma digital por


Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.com,
c=BR
Dados: 2013.08.09 12:47:07
-03'00'

199

resoluo numrica de edo's

1 (n)
(n)
yn+1 = yn + (k1 + k2 ).
2

(9.8)

(e)

Observe que, pelo mtodo de Euler, temos yn+1 = yn + hf (xn , yn ).


A aproximao do problema do valor inicial via a frmula (9.8) conhecida
como mtodo de Heun.

Exemplo 9.6 Seja o problema do valor inicial

no intervalo [0, 3] e
y(0) = 1. Determine o valor da soluo para um passo h = 0, 25 com duas
iteraes.
Soluo: temos para a primeira iterao:
(0)

k1

(0)

k2

y1

y =

xy
2

x0 y0
0, 25
=
= 0, 125,
2
2
(0)
(x0 + h) (y0 + k1 )
= h
= 0, 078125,
2
(0)
(0)
= y0 + 0, 5(k1 + k2 ) = 0, 8984375,

= h

para a segunda iterao:


(1)

k1

(1)

k2

y2

x1 y1
= 0, 0810546875,
2
(1)
(x1 + h) (y1 + k1 )
= 0, 03967285156,
= h
2
(1)
(1)
= y1 + 0, 5(k1 + k2 ) = 0, 8380737304.
= h

O valor y2 corresponde a inclinao da tangente em (0, 5; y(0, 5)). Note que,


determinando a soluo analtica deste problema do valor inicial e em seguida
calculando o valor de y(x) em x = 0, 5 temos y(0, 5) = 0, 8380737304.
O mtodo de Heun possui um erro de truncamento global da ordem de O(h2 ).
Logo, podemos vericar que, se diminuirmos o tamanho do passo de h para h/2,
o erro ser reduzido de um fator 1/4, e assim sucessivamente.

Mtodo clssico de Runge-Kutta


Os mtodos de Heun e de Euler, vistos anteriormente, so conhecimdos como
fazendo parte dos mtodos de Runge-Kutta. O mtodo de Euler possui um erro
de truncamento da ordem O(h), enquanto o mtodo de Heun possui um erro de
truncamento da ordem de O(h2 ), por isso estes so comumente conhecidos como
mtodos de runge-Kutta de primeira e segunda ordens, respectivamente. H
tambm o mtodo de Runge-Kutta de terceira ordem, cujo erro de truncamento
de O(h3 ). A equao de iterao deste mtodo dada por:

200

clculo numrico

(n)

k1

= hf (xn , yn ),
(n)

(n)
k2
(n)

k3

yn+1

h
k
= hf (xn + , yn + 1 ),
2
2
(n)
3h
3k2
= hf (xn + , yn +
),
4
4
1
(n)
(n)
(n)
= yn + (2k1 + 3k2 + 4k3 ).
9

(9.9)

Exerccio 9.5 Resolva o Exemplo 9.6 utilizando o mtodo de Runge-Kutta de

terceira ordem.

O mtodo clssico de Runge-Kutta permite reduzir o erro global de truncamento para O(h4 ). Da mesma forma que os demais, o intervalo [x0 , b] dividido
em n partes de comprimento h. Se calcularmos agora a funo f (x, y) quatro
vezes em vez de apenas duas, como no mtodo de Heun, ou trs como o mtodo
de terceira ordem, teremos o mtodo clssico de Runge-Kutta dado a seguir:
(n)

k1

= hf (xn , yn ),
(n)

(n)

k2

(n)

k3

(n)

k4

yn+1

h
k
= hf (xn + , yn + 1 ),
2
2
(n)
h
k
= hf (xn + , yn + 2 ),
2
2
(n)
= hf (xn + h, yn + k3 ),
1 (n)
(n)
(n)
(n)
= yn + (k1 + 2k2 + 2k3 + k4 ).
6

(9.10)

Em virtude da ordem do erro de truncamento deste mtodo ser O(h4 ), o


mtodo de Runge-Kutta dado pelas equaes em (9.10) tambm conhecido
como Runge-Kutta de quarta ordem. Todos esses mtodos operam com base
na informao de um passo apenas, ou seja, para computar (x1 , y1 ), precisamos
apenas do ponto inicial (x0 , y0 ), e assim sucessivamente. Por essa razo, todos
os mtodos estudados at o momento pertencem classe dos mtodos de passo
simples.
Aps a obteno de certo nmero de pontos, por meio dos mtodos de passo
simples, natural que os valores j determinados possam ser utilizados para obter
os valores dos pontos subseqentes. Os mtodos que se baseiam nessa tcnica so
conhecidos como mtodos de passos mltiplos.
Uma vantagem dos mtodos de passo simples que estes so auto-inicializveis,
j que a condio inicial um dado do problema do valor inicial. Ao contrrio,

201

resoluo numrica de edo's

os mtodos de mltiplos passos, embora mais renados, sofrem a desvantagem de


no serem auto-inicializveis, pois se torna necessrio informar a priori os valores
em mais pontos.
O desenvolvimento mais detalhado do mtodo de Runge-Kutta e outros melhoramentos so deixamos como tarefa de pesquisa para o leitor, que pode encontrlos em alguns textos citados na lista bibliogrca.

Exemplo 9.7 Resolva o PVI, y = xy, y(0) = 1, usando a tcnica Runge-Kutta


para uma iterao considerando um passo h = 0, 4; compare o resultado obtido
com o valor exato para x = 1, 6.
Soluo: Temos que f (x, y) = xy, x0 = 0, y0 = 1. Assim,
(0)

= hf (x0 , y0 ) = h x0 y0 = 0, 4 0 1 = 0;

(0)

= hf (x0 + h/2, y0 + k1 /2) = 0, 4 (0 + 0, 4/2) (1 + 0/2) = 0, 08;

(0)

= hf (x0 + h/2, y0 + k2 /2) = 0, 4 (0 + 0, 4/2) (1 + 0, 08/2) = 0, 0832;

(0)

= hf (x0 + h, y0 + k3 ) = 0, 4 (0 + 0, 4) (1 + 0, 0832) = 0, 173312


1 (0)
(0)
(0)
(0)
= y0 + (k1 + 2k2 + 2k3 + k4 )
6
1
= 1 + (0 + 2 0, 08 + 2 0, 0832 + 0, 173312) = 1, 083285.
6

k1
k2

k3

k4

y1

(0)

(0)

(0)

Exerccio 9.6 Utilize o mtodo clssico de Runge-Kutta para resolver o problema


do Exemplo 9.6.

9.2 Mtodos de passos mltiplos


Nesta seo, apresentaremos alguns dos mtodos de passos mltiplos.

9.2.1 Mtodo trapezoidal


Seja a equao diferencial de primeira ordem dada por

y = f (x, y).
Se integrarmos a equao acima no intervalo [xn , xn+1 ], temos:
xn+1
xn+1

y dx =
f (x, y(x))dx.
xn

xn

O lado esquerdo da equao anterior resulta em


xn+1
y dx = y(xn+1 ) y(xn ),
xn

(9.11)

202

clculo numrico

porm, como no conhecemos a funo y(x), a integral do lado direito da equao


(9.11) no pode ser determinada diretamente.
Uma forma de resolver o problema considerarmos o mtodo dos trapzios
de integrao nmerica, e ento o lado direito pode ser aproximado da forma:
xn+1
h
f (x, y(x))dx [f (xn , y(xn )) + f (xn+1 , y(xn+1 ))] .
2
xn
Se substituirmos y(xn ), y(xn+1 ) pelo valor das aproximaes respectivas yn ,
yn+1 , obtemos o mtodo trapezoidal para resoluo do problema do valor inicial:

yn+1 = yn +

h
[f (xn , yn ) + f (xn+1 , yn+1 )] .
2

(9.12)

O erro de truncamento global do mtodo trapezoidal de ordem O(h2 ). Observe que nos mtodos de Runge-Kutta, para computarmos o valor de yn+1 as
equaes dependem apenas dos valores anteriores, isto , de xn e yn . Tais mtodos
so tambm conhecidos como mtodos explcitos. No entanto, quando olhamos
para o mtodo trapezoidal, vemos que na equao (9.12) o lado direito depende
do termo yn+1 . Ou seja, o mtodo trapezoidal um mtodo implcito. Quando
a funo f (x, y) linear, o mtodo requer a resoluo de uma equao linear,
porm, quando a funo no linear em y(x), o mtodo torna-se mais complexo,
devido necessidade de resoluo de uma equao no linear. Os exemplos a
seguir ilustram esses casos.

Exemplo 9.8 Seja o problema do valor inicial

y = xy, y(0) = 1. A funo

f(x, y) = xy linear em y(x), assim mais fcil de resolver para obter o valor
yn+1 quando tomamos um passo no mtodo trapezoidal. Considerando um passo
h = 0, 2, determine a aproximao para duas iteraes.
Soluo: Usando a equao (9.12), temos
h
y1 = y0 + (x0 y0 + x1 y1 )
2
0, 2
= 1+
(0 1 + 0, 2 y1 ) = 1 + 0, 02y1
2
y1 1, 020408.

Exemplo 9.9 Seja o problema do valor inicial

y = ey , y(0) = 1. Nesse caso,


temos que a funo f(x, y) = ey no linear em y(x), o que conduz a resoluo
de uma equao no linear. Considerando o passo h = 0, 2, apresentamos abaixo

o resultado para duas iteraes.


Soluo: Substituindo os valores na equao (9.12), temos:

resoluo numrica de edo's

203

y1 = 0, 1 ey1 + 1, 03678.

Usando o mtodo de Newton para resoluo de equaes transcendentais, considerando a varivel y1 , aplicando a tcnica do isolamento da raiz, vemos que no
intervalo [1, 2] existe uma nica raiz. Ento, a soluo para a equao
y1 = 1, 07105.

Agora, considerando a nova iterao, temos:


y2 = 0, 1 ey2 + 1, 10531,

que, utilizando novamente o mtodo de Newton, obtemos:


y2 = 1, 13738.

Exerccio 9.7 Procure implementar computacionalmente o mtodo trapezoidal,


buscando um mnimo de iteratividade.
O mtodo trapezoidal pode ser renado medida que consideramos melhores
aproximaes das solues das equaes no lineares.
Uma alternativa para a resoluo da equao no linear utilizarmos o mtodo
iterativo do ponto-xo, dado por:
(0)

yn+1 = yn + hf (xn , yn ),
)
h(
(k)
(k+1)
yn+1 = yn +
f (xn , yn ) + f (xn+1 , yn+1 ) , k = 0, 1, 2, . . .
2
importante vericar se a aplicao do mtodo trapezoidal garantir convergncia para o tamanho de passo escolhido. Para isso, podemos mostrar que a
condio de convergncia para o mtodo do ponto-xo dada por:


h f


2 y < 1,
em uma vizinhana do ponto (xn+1 , yn+1 ).

Exerccio 9.8 Mostre que a condio de convergncia vlida para o problema


do valor inicial do exemplo 9.9.

204

clculo numrico

9.2.2 Mtodo de Simpson


No mtodo trapezoidal, aproximamos a integral considerando a regra dos trapzios, porm possvel considerarmos a aproximao da intergal no intervalo
[xn , xn+2 ]. Neste caso, utilizamos a primeira regra de Simpson simples, obtendo:

xn+2

xn+2

y dx =
xn

f (x, y(x))dx
xn

h
[f (xn , yn ) + 4f (xn+1 , yn+1 ) + f (xn+2 , yn+2 )]
3
h
= yn + [f (xn , yn ) + 4f (xn+1 , yn+1 ) + f (xn+2 , yn+2 )]. (9.13)
3

yn+2 yn =
yn+2

Observe a equao (9.13) implcita para yn+2 . Alm do mais, quando no


conhecemos o valor de y1 , que deve ser conhecido a priori para que se possa
resolver a equao, em geral se utiliza um mtodo explcito, como Euler, para se
determinar y1 e ento substitu-lo na equao (9.13) para obteno de y2 , e assim
obter as demais solues para n > 0.

9.2.3 Mtodo de Adams-Basforth-Multon


Na equao (9.11), vimos que o lado direito no pode ser determinado explicitamente. Assim, se utilizarmos polinmios interpoladores de Lagrange para
aproximar f (x, y(x)), podemos obter uma aproximao para o ponto yn+1 . Tais
mtodos so conhecidos como mtodos de Adams-Basforth-Multon. Nesses mtodos, necessrio primeiramente determinar o valor numrico da integral no intervalo [xn , xn+1 ] para o polinmio gerado pelos pontos (xn3 , yn3 ), (xn2 , yn2 ),
(xn1 , yn1 ), (xn , yn ), que denotaremos por pn+1 , e em seguida utilizar esse resultado para gerar o valor de yn+1 para os pontos (xn2 , yn2 ), (xn1 , yn1 ),
(xn , yn ), (xn+1 , f (xn+1 , pn+1 )).
Para o caso de considerarmos quatro pontos (xn3 , yn3 ), (xn2 , yn2 ), (xn1 ,
yn1 ), (xn , yn ), equivalentemente a quatro passos, o mtodo de Adams-BasforthMulton dado por:

h
(fn2 5fn1 + 19fn + 9fn+1 ),
24
computado antecipadamente pela frmula

yn+1 = yn +
onde o termo fn+1 pn+1

pn+1 = yn +

h
(55fn 59fn1 + 37fn2 9fn3 ).
24

(9.14)

(9.15)

As frmulas (9.15) e (9.14) so conhecidas, respectivamente, como preditor e


corretor de Adams-Basforth-Multon de quarta ordem.

205

resoluo numrica de edo's

Podemos mostrar que os erros locais de truncamento da integrao numrica


para os clculos do preditor e corretor so de ordem O(h5 ) e, determinados por:

251 (5) 5
y () h ,
720
19 (5) 5
y ( ) h ,
|y(xn+1 ) yn+1 | =
720

|y(xn+1 ) pn+1 | =

para o previsor e corretor, respectivamente, com , (0, 1).


Se supusermos que o passo h bem pequeno e que a derivada y (5) constante
ao longo do intervalo, ento podemos ver que

|y(xn+1 ) yn+1 |

19
|yn+1 pn+1 |.
270

Dessa relao, podemos observar que o erro estimado entre os dois valores no
depende da derivada, mas apenas dos valores do preditor e corretor.

9.3 Equaes de ordens superiores


As equaes diferenciais ordinrias de ordem superior a um surgem em muitos
problemas. Na Fsica clssica, por exemplo, as equaes de movimento so em
geral equaes diferenciais de segunda ordem. Um caso bastante simples o
estudo do oscilador harmnico, cuja equao da forma:

mx (t) + bx (t) + kx(t) = F (t),

(9.16)

onde m representa a massa de partcula, b e k so constantes e F (t) uma fora


externa. Em geral, as condies

x(t0 ) = x0 , x (t0 ) = y0

(9.17)

so dadas. Quando temos as condies dadas em (9.17), dizemos que temos um


problema do valor inicial de segunda ordem.
Resolvendo a equao (9.16) para a derivada segunda, podemos reescrever a
equao de uma forma mais geral como:

x (t) = f (t, x(t), x (t)), x(t0 ) = x0 , x (t0 ) = y0 .

(9.18)

206

clculo numrico

Por meio de uma transformao, podemos escrever o problema do valor inicial


de segunda ordem (9.18) como um sistema composto por duas equaes diferenciais de primeira ordem. Para isso, se considerarmos a mudana

x (t) = y(t),
temos que x (t) = y (t), e a equao diferencial (9.18) torna-se:

x (t) = y,
y (t) = f (t, x, y),

(9.19)
(9.20)

com as condies iniciais

x(t0 ) = x0 , y(t0 ) = y0 .
Agora, com base nesse sistema de duas equaes de primeira ordem com condies iniciais, podemos usar um mtodo, como Runge-Kutta, para encontrar
duas seqncias xk e yk , em que a primeira corresponde soluo numrica do
problema do valor inicial de segunda ordem.
Em geral, o problema do valor inicial de segunda ordem pode ser expresso da
forma:

y (x) = f (x, y(x), y (x)), y(x0 ) = y0 , y (x0 ) = v0 .

(9.21)

Seguindo o raciocnio anterior, podemos denir:

u1 (x) = y(x),
u2 (x) = y (x).

(9.22)
(9.23)

Agora, usando estas denies temos:


(9.24)
u1 (x) = y (x) = u2 (x), e u1 (x0 ) = y0 ,

u2 (x) = y (x) = f (x, y, y ) = f (x, u1 (x), u2 (x)), e u2 (x0 ) = v0 . (9.25)


Portanto, as equaes (9.24) e (9.25) denem dois PVI de primeira ordem para
as funes u1 (x) e u2 (x). Estas equaes esto acopladas.
A resoluo destas equaes utilizando o mtodo de Runge-Kutta clssico,
dada por:

207

resoluo numrica de edo's

(n)

(9.26)

k1,1 = hf1 (xn , u1 (xn ), u2 (xn )) = hu2 (xn )


(n)

(n)
k2,1

(n)

k1,1
k1,2
h
= hf1 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2
(n)

(n)

k2,1
k2,2
h
(n)
k3,1 = hf1 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2
(n)

(n)

(n)

k4,1 = hf1 (xn + h, u1 (xn ) + k3,1 , u2 (xn ) + k3,2 ),


(n)

(9.28)
(9.29)
(9.30)

k1,2 = hf2 (xn , u1 (xn ), u2 (xn ))


(n)

(n)

(n)
k2,2

k1,1
k1,2
h
= hf2 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2

(n)
k3,2

k2,1
k2,2
h
= hf2 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2

(n)

(n)

(9.27)

(n)

(9.31)

(n)

(n)

k4,2 = hf2 (xn + h, u1 (xn ) + k3,1 , u2 (xn ) + k3,2 ),

(9.32)
(9.33)

1 (n)
(n)
(n)
(n)
u1,n+1 = u1,n + (k1,1 + 2k2,1 + 2k3,1 + k4,1 ),
(9.34)
6
1 (n)
(n)
(n)
(n)
u2,n+1 = u2,n + (k1,2 + 2k2,2 + 2k3,2 + k4,2 ),
(9.35)
6
onde n = 0, 1, 2, , e f1 (x, u1 , u2 ) = u2 e f2 (x, u1 , u2 ) = f (x, u1 , u2 ).
(n)
Observe que por ser um sistema de equaes acopladas, o clculo dos ki,j
devem ser realizados xando-se i e variando o j , at obter-se todos os valores.

Exemplo 9.10 Seja o problema do valor inicial de segunda ordem y (x)+4y (x)+

5y(x) = 0, y(0) = 3, y (0) = 5. Determine o sistema de equaes de primeira

ordem equivalente e em seguida use o mtodo de Runge-Kutta para determinar a


seqncia de solues no intervalo [0, 1], com passo h = 0, 1 para dez iteraes.
Soluo: a equao diferencial pode ser expressa da forma:
y (x) = f(x, y(x), y (x)) = 4y (x) 5y(x).

Denindo-se
u1 (x) = y(x),
u2 (x) = y (x),
u2 (x) = y (x) = 4u2 (x) 5u1 (x),

208

clculo numrico

temos que:
u1 (0) = y(0) = 3,
u2 (0) = y (0) = 5.

Assim, os dois problemas do valor inicial de ordem um, so:


u1 (x) = u2 (x), u1 (0) = 3,
u2 (x) = 4u2 (x) 5u1 (x), u2 (0) = 5.

Considerando f1 (x, u1 , u2 ) = u2 e f2 (x, u1 , u2 ) = 4u2 5u1 , e aplicando o


mtodo de Runge-Kutta, para a iterao i = 0, temos:
(0)

k1,1 = hf1 (x0 , u1 (x0 ), u2 (x0 )) = h u2 (x0 ) = 0, 1 (5) = 0, 5,


(0)

k1,2 = hf2 (x0 , u1 (x0 ), u2 (x0 )) = h(4u2 (x0 ) 5u1 (x0 )) = 0, 5,


)
(
1 (0)
1 (0)
h
(0)
k2,1 = hf1 x0 + , u1 (x0 ) + k1,1 , u2 (x0 ) + k1,2 = 0, 475,
2
2
2
(
)
h
1 (0)
1 (0)
(0)
k2,2 = hf2 x0 + , u1 (x0 ) + k1,1 , u2 (x0 ) + k1,2 = 0, 525,
2
2
2
(
)
1 (0)
1 (0)
h
(0)
k3,1 = hf1 x0 + , u1 (x0 ) + k2,1 , u2 (x0 ) + k2,2 = 0, 47375,
2
2
2
)
(
1 (0)
1 (0)
h
(0)
k3,2 = hf2 x0 + , u1 (x0 ) + k2,1 , u2 (x0 ) + k2,2 = 0, 51375,
2
2
2
)
(
(0)
(0)
(0)
k4,1 = hf1 x0 + h, u1 (x0 ) + k3,1 , u2 (x0 ) + k3,2 = 0, 448625,
(0)
k4,2

(
= hf2 x0 + h, u1 (x0 ) +

(0)
k3,1 , u2 (x0 )

(0)
k3,2

)
= 0, 531375.

Considerando as equaes de iterao para as funes u1 (x) e u2 (x), temos:


)
1 ( (i)
(i)
(i)
(i)
k1,1 + 2k2,1 + 2k3,1 + k4,1 ,
6
)
1 ( (i)
(i)
(i)
(i)
= u2,i +
k1,2 + 2k2,2 + 2k3,2 + k4,2 .
6

u1,i+1 = u1,i +
u2,i+1

resoluo numrica de edo's

209

Substituindo os valores para i = 0, temos:


)
1 ( (0)
(0)
(0)
(0)
k1,1 + 2k2,1 + 2k3,1 + k4,1 = 2, 525645833,
6
)
1 ( (0)
(0)
(0)
(0)
= u2,0 +
k1,2 + 2k2,2 + 2k3,2 + k4,2 = 4, 481854166,
6

u1,1 = u1,0 +
u2,1

onde u1,0 = u1 (x0 ) = 3 e u2,0 = u2 (x0 ) = 5.


A soluo para o problema original, quando x = x1 = 0, 1
y1 = y(x1 ) = y(0, 1) = u1 (x1 ) = u1,1 = 2, 525645833.

Note que para obtermos a soluo para o prximo passo, isto , em y(x2 )
necessrio que tenhamos computado o valor de u2,1 , pois este valor ser utilizado
(1)
, m = 1, 2, 3, 4 e n = 1, 2.
nos clculos dos km,n
Uma extenso da tcnica aplicada para equaes de segunda ordem pode ser
utilizada para equaes diferenciais de ordem superiores. Em geral, uma equao
diferencial de ordem m pode ser escrita da forma:

u(m) (x) = f (x, u, u , u , . . . , u(m1) ).

(9.36)

A equao diferencial (9.36) pode ser transformada em um sistema equivalente


contendo m equaes diferenciais de primeira ordem, tomando-se v1 = u, temos:

v1 = u = v2 ,
v2 = u = v3 ,
v3 = u = v4 ,
..
.

vm1 = u(m1) = vm ,

(9.37)

vm
= u(m) = f (x, u, u , u , . . . , u(m1) ).

A equao diferencial (9.36) pode possuir m condies iniciais, as quais se


transformam para o sistema (9.37) em condies do tipo:

vk (x0 ) = ak , k = 1, . . . , m.
A soluo do sistema pode ser encontrada pela aplicao do mtodo de RungeKutta, analogamente ao realizado para o caso do problema do valor inicial de
segunda ordem.

210

clculo numrico

Exemplo 9.11 Seja o problema do valor inicial de terceira ordem dado por:
y = x + y + 2y + y2 , y(0) = y (0) = y (0) = 0.

Encontre o sistema de primeira ordem equivalente.


Soluo: Fazendo y(x) = v1 , temos:
v1 = v2 , v1 (0) = 0,
v2 = v3 , v2 (0) = 0,
v3 = x + v1 + 2v2 + v32 , v3 (0) = 0.

Agora, podemos utilizar o mtodo de Runge-Kutta para determinar a soluo


do sistema acima, seguindo um raciocnio anlogo ao empregado para a soluo
do Exemplo 9.10.

9.4 Problema do valor de fronteira


Os mtodos que vimos anteriormente so aplicados para a resoluo do Problema do Valor Inicial. No entanto, h problemas de equaes diferenciais de
segunda ordem onde as condies so atribuidas nas extreminades do intervalo.
Tais problemas so conhecidos como Problemas do Valor de Fronteira.

Denio 9.5 O Problema do Valor de Fronteira de segunda ordem denido


da forma:

y = f (x, y, y ), y(a) = , y(b) = ,

(9.38)

onde x [a, b].


Vamos estudar aqui o problema do valor de fronteira caracterizado pela equao diferencial que pode ser posta na forma:

y q(x)y = f (x), y(a) = , y(b) = ,

(9.39)

onde a funo q(x) deve satisfazer q(x) > 0 e f (x) arbitrria.


Para resolvermos o problema do valor de fronteira (9.39), vamos utilizar o
mtodo da diferena apresentado na Seo (7.3). Seja o intervalo I = [a, b].
Dividindo-se este intervalo em n partes iguais ba
= h, temos que xi = a + ih,
n
com i = 0, 1, 2, . . . , n.
Seja yi = y(xi ). Pelas condies de fronteira, sabemos que:

211

resoluo numrica de edo's

y0 = y(x0 ) = y(a) = , yn = y(xn ) = y(b) = .


Considerando a aproximao da derivada segunda pela diferena,

y (xi )

yi+1 2yi + yi1


,
h2

(9.40)

podemos tomar esta equao para cada ponto xi , i = 1, . . . , n 1. Substituindo


a relao (9.40) na equao (9.39), temos:

yi+1 2yi + yi1


q(xi )yi = f (xi ),
h2
yi+1 (2 + h2 qi )yi + yi1 = h2 fi , i = 1, 2, . . . , n 1.

(9.41)

Para i = 1, a equao (9.41) torna-se:

y2 (2 + h2 q1 )y1 + y0 = h2 f1 ,
como y0 = , temos

y2 (2 + h2 q1 )y1 = h2 f1 .

(9.42)

Para i = n 1, temos:

yn (2 + h2 qn1 )yn1 + yn2 = h2 fn1 ,


como yn = , temos

(2 + h2 qn1 )yn1 + yn2 = h2 fn1 .

(9.43)

Agora, denindo as matrizes, temos:

y=

y1
y2
..
.
yi1

(9.44)

212

clculo numrico

(2 + h2 q1 )
1
0

0
2

1
(2
+
h
q
)
1

0
2

..
A=
.

1 (2 + h2 qi2 )
1
0

1
(2 + h2 qi1 )

B=

h2 f1
h 2 f2
..
.
2

h fi2
h fi1

(9.45)

(9.46)

escrevemos

A y = B,

(9.47)

que corresponde ao conjunto de equaes dadas em (9.41). A soluo deste


sistema ser nica desde que a condio q(x) > 0, x [a, b]. Assim, a soluo desse sistema soluo do problema do valor de fronteira em cada ponto
xi , i = 1, . . . , n 1.

Exemplo 9.12 Seja o problema do valor de fronteira dado por:


y y = 0, y(0) = 0, y(1) = 1, 175, h = 0, 25.

Encontre a soluo utilizando o mtodo estudado anteriormente.


Soluo: Para resolver o problema, vamos escrever o sistema de equaes
(9.47). As funes q(x) = 1 > 0, 0 x 1 e f (x) = 0. Neste caso as matrizes
tornam-se:

(2 + h2 )
1
0
0
y1

y2 =
.
1
(2 + h2 )
1
0
2
y3
0
1
(2 + h )
1, 175

Resolvendo o sistema, obtemos:

0, 2528
y = 0, 5214 .
0, 8225
Waldir
L.
Roque

Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:47:53 -03'00'

resoluo numrica de edo's

213

Exerccio 9.9 Resolva o probelma do valor de fronteira,


y x2 y = 0, y(0) = 0, y(1) = 1, h = 0.2

9.5 Exerccios propostos

1. Seja o problema do valor inicial dado por y = 1 y 2 , y(0) = 0. Determine


a soluo no intervalo [0, /4], usando o mtodo de Taylor com ordem 5.
2. Use o mtodo de Taylor para determinar a soluo do problema do valor
inicial y = t21+1 , y(0) = 0, at ordem 10.
3. Sejam os problemas do valor inicial dado a seguir. Use o mtodo de Euler
para determinar as solues:
a) y =

1
y

x, y(1) = 2, h = 0, 1. Qual o valor de y (2)?

b) y = x2 y, y(1) = 1, h = 0, 1k , k = 1, 2, 3, 4, 5.
c) y = ycos(x), y(0) = 1, h = 0, 1k , k = 1, . . . , 10.
d) y = e2x 2y, y(0) = 0, 1, no intervalo [0; 0, 2], h = 0, 05
4. O crescimento populacional de certa espcie de bactria aumenta a uma
taxa que proporcional ao valor da prpria populao, e obedece ao problema do valor inicial y (t) = 1, 8y(t), y(1) = 1, 9 108 . Supondo um
perodo de cinco horas, determine, pelo mtodo de Euler, a quantidade de
bactrias tomando passos h = 1 hora, h = 1/60 horas. Quanto tempo
necessrio para a duplicao da populao?
5. Seja um projtil lanado verticalmente do solo e que cai verticalmente.
Sabemos que a resitncia do ar proporcional velocidade do projtil, o
problema do valor inicial para a velocidade do projtil dado por: v (t) =

v, v(0) = v0 , onde v0 a velocidade de lanamento, m a massa


32 m
do projtil e o coeciente de resistncia do ar. Supondo que v0 = 4m/s

e m
= 0, 15, use o mtodo de Heun com passo h = 0, 5 para determinar a
soluo do problema do valor inicial no intervalo t = [0, 30].
6. Um modelo ecolgico para o crescimento de certo pssaro dado pela equao diferencial dN
= 0, 89N 0, 003N 1,9 , onde t medido em meses. Qual
dt
o nmero de pssaros ao nal de um ano, quando o nmero inicial de
100 pssaros? Utilize o mtodo de Runge-Kutta para resolver a questo e
compare com outros mtodos estudados neste captulo.

214

clculo numrico

7. O sistema de equaes diferenciais descreve o modelo da presa-predador


para certa espcie de animais,

dx(t)
= x(1 y 2 ); x(0) = 5,
dt
dy(t)
= y(0, 75x 1, 5); y(0) = 2.
dt
Encontre a soluo do sistema para t = 1, com h = 0, 1, usando o mtodo
de Runge-Kutta.
8. Encontre a soluo para os problemas do valor inicial de segunda ordem
dados por
a) y (x) + y(x) = 6 cos(x), y(0) = 2, y (0) = 3. Use Runge-Kutta com
h = 0, 1 para 30 iteraes.
b) L (t) + 20L (t) + 125L(t) = 9sen (5t), L(0) = L (0) = 0. Use RungeKutta com h = 0, 05 para 50 iteraes. Essa equao descreve um circuito
eltrico RLC.

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:48:25 -03'00'

Referncias Bibliogrcas
[Arenales, 07] ARENALES, S. e DAREZZO, A. Clculo Numrico: Aprendizagem com apoio de software. So Paulo : Thomson Learning, 2007.
[Barroso et al., 87] BARROSO, L. C. et al. Clculo numrico com aplicaes. So
Paulo : Harbra, 1987.
[Burden, 03] BURDEN, R. L. and FAIRES, J. D. Anlise Numrica. So Paulo
: Thomson Learning, 2003.
[Campos, 07] CAMPOS FILHO, F. F., Algoritmos Numricos. Rio de Janeiro :
Livros Tcnicos e Cientcos Editora SA, 2007.
[Claudio, 94] CLUDIO, D. M., MARINS, J. M. Clculo numrico computacional : teoria e prtica. So Paulo : Atlas, 1994.
[Eldn, 90] ELDN, L., WITTMEYER-KOCH, L. Numerical analysis : an introduction. Londres : Academic Press, 1990.
[Etchells, 97] ETCHELLS, T., BERRY, J. Learning numerical analysis through
Derive . Bolton : Chartwell-Bratt, 1997.
[Forsythe, 77] FORSYTHE, G., MALCOLM, M., MOLER, C. Computer
methods for mathematical computations. Englewood Clis : Prentice Hall,
1977.
[Homan, 01] HOFFMAN, J. D. Numerical methods for engineers and scientists.
Second Edition, New York : Marcel Dekker, Inc., 2001.
[Johnson, 77] JOHNSON, L. W., REISS, R. Numerical analysis. Reading, Mass
: Addison-Wesley, 1977.
[Kutzler, 00] KUTZLER, B., KOKOL-VOLJC, V. Introduco ao Derive 5. Linz
: Soft Warehouse Europe, Gutenberg-Werbering GmBH, 2000 (Traduo).
[Mathews, 87] MATHEWS, J. H. Numerical methods. New York : Prentice Hall,
1987.

216

clculo numrico

[Ralston, 78] RALSTON, A., RABINOWITZ, P. A rst course in numerical


analysis. New York : McGraw-Hill, 1978.
[Ruggiero, 96] RUGGIERO, M. A. G., LOPES, V. L. R. Clculo numrico : aspectos tericos e computacionais. So Paulo : Makron, 1996.
[Stoer, 89] STOER, J., BURLISCH, R. Introduction to numerical analysis. New
York : Springer Verlag, 1980.
[Sli, 03] SLI, E., MAYERS, D. F. An introduction to numerical analysis. New
York : Cambridge University Press, 2003.
[Szidarovszky, 89] SZIDAROVSZKY, F., YAKOWITZ, S. An Introduction to
Numerical Computations. New York : Macmillan Publishing Company, 1989.

ndice Remissivo
Ajuste
no linear, 156
polinomial geral, 155
polinomial quadrtico, 154
por uma reta, 152
Anlise de regresso, 149
Aproximao
de Chebychev, 144
de Pad, 144
Arredondamento
para nmero mais prximo
de mquina, 41
tipo corte, 41
unidade de, 43
Base de numerao, 20
Bolzano, 62

algbricas, 51
normais, 151
transcendentais, 51
Erro
absoluto, 43
no modelo, 39
nos dados de entrada, 39
por arredondamento, 41
por truncamento, 39
relativo, 43
Exatido, 44
Extrapolao de Richardson, 166
FORTRAN, 31
Funo de iterao, 84
Gradiente, 112

Coeciente de determinao, 158


Comprimento da palavra, 28
Computao algbrica, 31
Converso
binrio para decimal, 25
decimal para binrio, 22
Corretor, 203

Interpolao
de Gregory-Newton, 144
de Lagrange, 130
de Newton, 137
linear, 123
quadrtica, 126

Determinante normalizado, 106


Diagonal dominante, 104
Diferena
central, 162
dividida, 138
nita, 143
progressiva, 161
regressiva, 162
Dgitos signicativos, 29

Mantissa, 29
Matriz ampliada, 92
Matriz de Vandermonde, 130
Matriz Jacobiano, 112
Mtodo
da bisseo, 72
da iterao linear, 84
da pivotizao completa, 98
da quadratura Gaussiana, 179
da srie de Taylor, 188
das cordas, 78

da mquina, 44

Equaes

Jacobiano, 112

218

das Splines, 144


de Adams-Basforth-Multon, 203
de Briot-Runi, 55
de Euler, 191
de Heun, 197
de Horner, 58
de Newton-Ctes, 169
de Newton-Raphson, 81
de Newton-Raphson para sistemas
no lineares, 114
de passo simples, 198
de passos mltiplos, 198
de Runge-Kutta, 198
de Seidel para sistemas
no lineares, 113
direto de Gauss, 96
direto de Jordan, 100
do ponto xo, 109
dos mnimos quadrados, 149
iterativo de Gauss-Seidel, 104
iterativo de Jacobi, 102
trapezoidal, 200
Multiplicidade, 53
Otimizao linear, 149
Overow, 33
Pivotizao, 98
Polinmios de Lagrange, 130
Polinmios de Legendre, 182
Preciso, 44
Preditor, 203
Primeira regra de Simpson, 175
Problema do valor inicial, 188
Renamento de solues, 101
Regra
da Lacuna, 65
de Descartes, 63
de du Gua, 64
de Simpson composta, 176
dos trapzios, 171
dos trapzios composta, 174
Relaes de Girard, 67

clculo numrico

Representao
compacta, 31
em ponto xo, 29
em ponto utuante, 29
Segunda regra de Simpson, 178
Segunda regra de Simpson
composta, 178
Sistema
compatvel, 93
decimal, 20
determinado, 93
de equaes algbricas
lineares, 91
de equaes algbricas
no lineares, 107
de ponto utuante, 31
equivalente, 95
incompatvel, 93
indeterminado, 93
hexadecimal, 28
homogneo, 93
mal-condicionado, 106
octal, 26
triangular inferior, 94
triangular superior, 94
Sistema binrio, 21
Sistema de numerao, 19
no posicional, 19
posicional, 19
Suavizao de dados, 149
Transformaes elementares, 95

Underow, 33

Unidade de arredondamento, 43

Waldir L.
Roque

Assinado de forma digital


por Waldir L. Roque
DN: cn=Waldir L. Roque, o,
ou,
email=wlroque@gmail.co
m, c=BR
Dados: 2013.08.09
12:49:07 -03'00'

Das könnte Ihnen auch gefallen