Você está na página 1de 131

ANÁLISE NUMÉRICA

0. INTRODUÇÃO
A disciplina de Análise Numérica procura criar métodos para aproximar, de uma maneira eficiente, as
soluções de problemas matematicamente expressos. A eficiência do método depende tanto da precisão
requerida pelo método para o problema, como da facilidade com que o método pode ser implementado.

Numa situação prática, o problema matemático deriva de um fenómeno físico, onde algumas
suposições já foram feitas para permitir o desenvolvimento da representação matemática. Geralmente
um relaxamento das suposições físicas conduz a um modelo matemático mais apropriado, mas ao
mesmo tempo mais difícil ou impossível de resolver explicitamente.

Como o problema matemático geralmente não resolve em caso algum o problema físico com exactidão,
frequentemente é mais apropriado encontrar uma solução aproximada para um modelo matemático
mais complicado de um problema físico, do que encontrar uma solução exacta de um modelo
simplificado.

1
1. CÁLCULO E TEORIA DE ERROS

Este capítulo contém uma breve revisão dos conceitos do cálculo elementar, isto é, com uma variável,
que servem de base de raciocínio nos capítulos seguintes, juntamente com uma introdução da
terminologia usada na representação de números com ajuda de máquinas, análise de erros e discussão
de convergência.

1.1. Revisão do cálculo elementar

Definição 1.1 (Limite de uma função):

Seja f uma função definida num conjunto X de números reais. f tem limite L em x0, se, dado
qualquer número real  > 0, existe sempre um número real  > 0, tal que, sempre que xX e
0 < |x – x0| <  então |f(x) – L| < .

(Simbolicamente tem-se: lim f(x) = L  +, +: |x – x0| < |f(x) – L| < ).
x→ x0

Definição 1.2 (Continuidade de uma função):

Seja f uma função definida num conjunto X de números reais. f diz-se que é contínua em x0,

se lim f(x) = f(x0).


x→ x0

Fig. 1.1

2
Nota: A função f é contínua num conjunto X, se o for em todos os valores de X. C(X) representa o
conjunto de todas as funções que são contínuas em X. Quando X é um intervalo da recta real, os
parêntesis podem ser omitidos. Por exemplo, o conjunto de todas as funções contínuas no intervalo
fechado [a,b] é representado por C[a,b] em vez de C([a,b]).

Definição 1.3 (Limite de uma sequência – convergência):

Seja (xn), com n = 1,..., uma sequência infinita de números reais (ou complexos). Diz-se
que a sequência converge para um número x (chamado limite) se, para cada  > 0, existe
um número inteiro positivo N(), tal que n > N()  |xn – x| < . A anotação lim xn = x, ou xn
n →

→ x quando n → , significa que a sequência (xn )n=1 converge para x.


Teorema 1.4 (Relação entre o comportamento de uma função e o de uma sequência funcional
correspondente):

Se f é uma função definida num conjunto X de números reais e x0X, então as seguintes
proposições são equivalentes:

a) f é contínua em x0.

b) Se xn n=1 é qualquer sequência em X convergente para x0, então lim f (xn ) = f (x0 ) .

n→

Definição 1.5 (Diferenciabilidade de uma função – Derivabilidade):

Se f é uma função definida num intervalo aberto contendo x0, então f é diferenciável em x0
𝑓(𝑥)−𝑓(𝑥0 )
se 𝑓'(𝑥0 ) = 𝑙𝑖𝑚 existe.
𝑥→𝑥0 𝑥−𝑥0

Nota: O número f ( x0 ) chama-se derivada de f em x0 (fig. 1.2). A função que tem derivadas em
todos os números dum conjunto X diz-se diferenciável em X. A derivada de f em x0 é a inclinação da
recta tangente ao gráfico de f em (x0, f(x0)).

3
Fig. 1.2

Teorema 1.6 (Relação Diferenciabilidade – Continuidade duma função):

Se f é diferenciável em x0, então f é contínua em x0.

Nota: O conjunto de todas as funções que têm n derivadas contínuas em X é representado por Cn(X) e
o conjunto de funções que têm derivadas de todas as ordens em X é representado por C(X). Funções
polinomiais, racionais, trigonométricas, exponenciais e logarítmicas estão em C(X), onde X é
constituído por todos valores em que as funções estão definidas.

Teorema 1.7 ( de Rolle):

Suponhamos que fC[a,b] e f é diferenciável em (a,b). Se f(a) = f(b), então existe um número
c em (a,b), tal que f’(c) = 0.

4
Fig. 1.3

Teorema 1.8 (do valor médio):

Se fC[a,b] e f é diferenciável em (a,b), então existe um número c em (a,b), tal que


f (b) − f (a)
f ' (c ) = .
b−a

Fig. 1.4

5
Teorema 1.9 (do valor extremo):

Se fC[a,b], então existem c1,c2[a,b], tais que f(c1)  f(x)  f(c2), x[a,b]. Se,
adicionalmente, f é diferenciável em (a,b), então c1 e c2 ocorrem, ou nos extremos do
intervalo [a,b], ou onde f’(x) = 0.

Fig 1.5

Definição 1.10 (generalizado de Rolle):

Suponhamos que fC[a,b] é n vezes diferenciável em (a,b). Se f(x) é igual a zero em n+1
números distintos x0, x1, ..., xn de [a,b], então existe um número c em (a,b), tal que

f ( n ) (c ) = 0 .

Teorema 1.11 (do valor intermédio):

Se fC[a,b] e k é qualquer número entre f(a) e f(b), então existe um número c em (a,b), tal
que f(c) = k.

Teorema 1.12 (de Taylor):

Suponhamos que fCn[a,b], que existe f(n+1) em (a,b) e x0[a,b]. x[a,b] existe um número
(x) entre x0 e x, tal que f(x) = Pn(x) + Rn(x), onde
1 1 1 (𝑛)
𝑃𝑛 (𝑥) = ∑𝑛𝑘=0 𝑘! 𝑓 (𝑘) (𝑥0 )(𝑥 − 𝑥0 )𝑘 = 𝑓(𝑥0 ) + 𝑓'(𝑥0 )(𝑥 − 𝑥0 ) + 2! 𝑓''(𝑥0 )(𝑥 − 𝑥0 )2 + . . . + 𝑛!
𝑓 (𝑥0 )(𝑥 −

𝑥0 )𝑛 e Rn ( x) = 1
( n+1)! f ( n+1)
( (x ))( x − x0 ) n+1 .

6
Fig. 1.6

Nota: Aqui Pn(x) é designado n-ésimo polinómio de Taylor ou polinómio de Taylor de grau n de f
em ordem a x0 e Rn(x) é designado resto, termo remanescente ou erro de truncatura associado a
Pn(x). A série infinita obtida através do limite de Pn(x) quando n→ designa-se série de Taylor de f
em ordem a x0. No caso em que x0 = 0, o polinómio de Taylor é mais frequente designado polinómio
de Maclaurin e a série de Taylor, série de Maclaurin. O termo erro de truncatura refere-se ao erro
envolvido no uso de uma soma finita para aproximar uma soma infinita.

Exercícios (1.1):

1. Mostre que as seguintes equações têm pelo menos uma solução nos intervalos dados:
Resolvido:

a) x − (ln x ) = 0,
x
[4;5]

(1) Continuidade: f ( x) = x − (ln x ) é contínua em  + porque Df =  + , logo, f é contínua em


x

[4,5]   + .

(2) f (4) = 4 − (ln 4)  0.3066  0 ; f (5) = 5 − (ln 5)  −5.79869  0 , logo, há-de existir entre 4 e 5
4 5

um valor c, tal que f(c) = 0, uma vez que f ( x) = x − (ln x ) é contínua em [4,5].
x

Não resolvidos:

b) x cos x − 2 x 2 + 3x − 1 = 0, [0.2;0.3] e [1.2;1.3]

c) (x − 2) − ln x = 0,
2
[1;2] e [e;4]

d) 2 x cos(2 x ) − (x − 2) = 0,
2
[2;3] e [3;4]
2. Ache intervalos contendo soluções das seguintes equações:
Resolvido:

a) 4 x − e = 0
2 x

7
(1) Continuidade: f ( x) = 4x 2 − e x é contínua em  porque Df =  .
(2) Começando aleatoriamente pelos valores mais fáceis (mais próximos de zero) tem-se:
f (0) = 4 * 02 − e 0 = −1  0 ; f (1) = 4 *12 − e1  1.28  0 . Logo, há-de existir em [0,1] um valor
c, tal que f(c) = 0, uma vez que f ( x) = 4x − e é contínua em [0,1].
2 x

Não resolvidos:
−x
b) x − 3 =0
c) x − 2 x − 4 x + 3 = 0
3 2

d) x + 4.001x + 4.002 x + 1.101 = 0


3 2

3. Mostre que as primeiras derivadas das seguintes funções são iguais a zero, pelo menos uma vez,
nos intervalos dados:
Resolvido:
a) 𝑓(𝑥) = (𝑥 − 2) 𝑠𝑖𝑛 𝑥 𝑙𝑛(𝑥 + 2), [–1;3]
  
(1) f ( x) = (x − 2) sin x ln( x + 2) + ( x − 2)(sin x ) ln( x + 2) + ( x − 2) sin x(ln( x + 2) )
( x − 2) sin x
f ( x) = sin x ln( x + 2) + ( x − 2) cos x ln( x + 2) +
x+2
( x − 2) sin x
(2) Continuidade: f ( x) = sin x ln( x + 2) + ( x − 2) cos x ln( x + 2) + é contínua em
x+2
− 2 ; +   porque Df = − 2 ; +   . Logo, f (x) é contínua em − 1; 3  − 2 ; +   .
(−1 − 2) sin(−1)
(3) f (−1) = sin(−1) ln(−1 + 2) + (−1 − 2) cos(−1) ln(−1 + 2) +  2.52  0 ;
−1+ 2
(3 − 2) sin(3)
f (3) = sin(3) ln(3 + 2) + (3 − 2) cos(3) ln(3 + 2) +  −1.33798  0 . Logo, há-de
3+ 2
existir em ]-1,3[ um valor c, tal que f’(c) = 0, uma vez que
( x − 2) sin x
f ( x) = sin x ln( x + 2) + ( x − 2) cos x ln( x + 2) + é contínua em ]-1,3[.
x+2
Não resolvidos:
𝜋𝑥
b) 𝑓(𝑥) = 1 − 𝑒 𝑥 + (𝑒 − 1) 𝑠𝑖𝑛 ( 2 ), [0;1]

c) 𝑓(𝑥) = (𝑥 − 1) 𝑡𝑎𝑛 𝑥 + 𝑥 𝑠𝑖𝑛(𝜋𝑥), [0;1]


d) 𝑓(𝑥) = 𝑥 𝑠𝑖𝑛(𝜋𝑥) − (𝑥 − 2) 𝑙𝑛(𝑥 + 2), [0.5;1]

4. Ache max f (x ) para as seguintes funções nos intervalos dados:


a xb

Resolvido:

a) f ( x ) = 1 + e − cos( x−1) , [1;2]

8
(1) Continuidade: f (x) = 1 + e − cos ( x−1) é contínua em  porque Df =  . Logo, f(x) é contínua em
[1;2]   .

(2) f ( x) = e −cos( x −1) − cos(x − 1) = e −cos( x −1) sin( x − 1) . f ( x) = 0  sin( x − 1) = 0  x = k + 1 ,
k  Z . Dos zeros das derivadas, apenas x = 1 se encontra na extremidade do intervalo [1;2],
estando todos os restantes fora dele.
− cos(1−1)
(3) f (1) = 1 + e = 1 + e −1  1.367879; f (2) = 1 + e − cos( 2−1)  1 + e −0.54  1.582572. Em condições
normais teríamos pelo menos três valores para comparar (as imagens absolutas dos dois limites
do intervalo e as imagens absolutas dos extremos da função dentro do intervalo). Como f (1) é
simultaneamente extremo local e imagem de 1, que é limite inferior do intervalo [1;2],
acabaremos comparando apenas os dois extremos disponíveis, f (1) e f ( 2) , para concluir
que, para f ( x) = 1 + e − cos ( x−1) , max f ( x) = f (2)  1.582572.
1 x 2

Não resolvidos:

a) f (x ) =
1
3
(
2 − e x + 2x , ) [0;1]

f ( x ) = 2 x cos(2 x ) − ( x − 2 ) ,
2
b) [2;4]

4x − 3
c) f (x ) = , [0.5;1]
x2 − 2x
5. Determine se o teorema do valor médio se aplica nas seguintes situações. Se sim, dê um número c
que satisfaz o teorema; e se não, mostre que tal número não existe.
Resolvidos:
a) f(x) = | x |, [a, b] = [-1,1]
(1) f(x) contínua em . Logo, f(x) contínua em [-1;1]  .
(2) f(x) diferenciável em – e em +. Logo, f(x) não diferenciável em ]-1;1[, uma vez que f(x)
não é diferenciável para x = 0.
(3) Dado que a diferenciabilidade é violada em ]-1;2[ como se mostra em (2), então o teorema
do valor médio não se aplica.
b) f(x) = | x |, [a, b] = [0, 1]
(1) f(x) contínua em . Logo, f(x) contínua em [0;1]  .
(2) f(x) diferenciável em – e em +. Logo, f(x) diferenciável em ]0;1[  +.
(3) Então o teorema do valor médio aplica-se. Portanto, existe c ]0;1[, tal que
= 1 . Aplicando este resultado “1” em f(x) = | x | tem-se f ' ( x) = 1  f ' (c) = 1 ,
f (1) − f (0)
f ' (c ) =
1− 0
significando isso que c pode ser qualquer valor do intervalo ]0;1[.
Não resolvidos:
c) f(x) = x2/3, [a, b] = [-1, 8]
9
d) f(x) = x2/3, [a, b] = [0, 8]

6. Desenvolva o polinómio de Taylor P3(x) para f ( x ) = x + 1 , em ordem a x0 = 0, use o polinómio


para aproximar 0. 5 , 0.75, 1.25 e 1.5 e determine os respectivos erros.
Resolução:
1
(1) f ( x) = x + 1 ; f ( x) =
1 3
; f ( x) = − ; f ( x) = .
2 x +1 4 ( x + 1) 3
8 ( x + 1) 5

1 1 1 1 3 3
(2) f (0) = 0 + 1 = 1 ; f (0) = = ; f (0) = − = − ; f (0) = = .
2 1 2 4 13 4 8 15 8
1 1
(3) P3 ( x) = f ( x0 ) + f ( x0 )( x − x0 ) + f ( x0 )( x − x0 ) 2 + f ( x0 )( x − x0 ) 3
2! 3!

1 1 x x2 x3
P3 ( x) = f (0) + f (0)( x − 0) + f (0)( x − 0) 2 + f (0)( x − 0) 3 = 1 + − + .
2! 3! 2 8 16

x x2 x3
(4) f ( x) = x + 1 ; P3 ( x) = 1 + − +
2 8 16
x f(x) P3(x) E(x) = |f(x) – P3(x)|
-0,5 √0,5  0,707106781 0,710937500 0,003830719
-0,25 √0,75  0,866025404 0,866210938 0,000185534
0,25 √1,25  1,118033989 1,118164063 0,000130074
0,5 √1,5  1,224744871 1,226562500 0,001817629

7. Desenvolva o polinómio de Taylor P2(x) para f, em ordem a x0 = 0 sabendo que f ( x) = e


x
cos x .
Use este polinómio para aproximar f(/6) e determine a margem de erro nesta aproximação.
Resolução:

(1) f ( x) = e x cos x ; f ( x) = e x (cos x − sin x) ; f ( x) = −2e x sin x ; f ( x) = −2e x (sin x + cos x) .
(2) f (0) = e 0 cos 0 = 1 ; f (0) = e 0 (cos0 − sin 0) = 1 ; f (0) = −2e 0 sin 0 = 0 ;
f (0) = −2e 0 (sin 0 + cos 0) = −2 .
1
(3) P2 ( x) = f ( x0 ) + f ( x0 )( x − x0 ) + f ( x0 )( x − x0 ) 2 = 1 + x .
2!

f ( ( x) )( x − x0 ) 3 = − x 3 e  ( x ) (sin  ( x) + cos ( x) ) .


1 1
(4) R2 ( x) =
3! 3
 
(5) f ( 6 )  P2 ( 6 ) = 1 +  1.523598776. Com 0   ( x)  tem-se:
6 6

10
1
R2− ( x) = − * 0.143547577* e 0.523598775 (sin 0.523598775+ cos 0.523598775)  −0.110339102
3
R2+ ( x) = − * 0.143547577* e 0 (sin 0 + cos 0)  −0.047849 .
1
3
− 0.110339102 R2 ( x)  −0.047849192

8. Desenvolva o polinómio de Taylor de grau 4 para f desenvolvido em ordem a x0 = 1, sabendo


x2
que f(x) = e . Use este polinómio para aproximar f(1.1), e determine a margem de erro desta
aproximação.
9. Seja f(x) = e–x dê o polinómio de Taylor de 3º grau para f desenvolvido em ordem a x0 = 1 e
aproxime e–99 usando esse polinómio.
10. Usando o teorema de Taylor, com n = 2 e x0 = 0, dê uma aproximação de sin 0.001. Acha que a
exactidão para este problema pode ser a mesma do cos 0.001?

1.2. Cálculo aritmético e teoria de erros


1.2.1. Sistemas numéricos e números de máquina

1.2.1.1. Representação de números inteiros

Sistema decimal: N = (dndn–1d1d0)10 = dn * 10n + dn–1 * 10n–1 +  + d1 * 101 + d0 * 100, com 0 
di  9 e i = 0, 1, , n.

Sistema de qualquer base: N = (dndn–1d1d0)b = dn*bn + dn–1*bn–1 +  + d1*b1 + d0*b0, com 0  di
 b – 1 e i = 0, 1, , n.

Exemplo: (12345) 6 = 5  6 + 4  6 + 3  6 + 2  6 + 1 6 = 5 + 24 + 108 + 432 + 1296 = 1865


0 1 2 3 4

(Mais exemplos de operações elementares e conversões dos sistemas de uma base para outra).

1.2.1.2. Representação de números reais em máquinas de calcular ou computadores

Tomemos o seguinte exemplo:

Aritmética real Aritmética de máquina

2+3=5 2+3=5

4  4 = 16 4  4 = 16

( 3) 2
=3 ( 3)2
3

11
Isto acontece porque no mundo da computação cada número representável tem só um número fixo e
finito de dígitos. Isto significa que só alguns números racionais podem ser representados com

exactidão. Não sendo 3 um número racional, o que é dado é uma aproximação, cujo quadrado
não será precisamente 3, embora seja suficientemente próximo de 3 para ser aceitável na maioria das
situações como sendo 3.

Erros de aproximação são gerados quando uma máquina de calcular ou um computador são usados
para fazer cálculos com números reais (irracionais ou mesmo racionais), porque as máquinas só
usam uma representação de números com um número finito de dígitos.

Num computador típico é usado apenas um subconjunto relativamente pequeno do sistema numérico
para a representação de todos os números reais. Este subconjunto contém só números racionais,
positivos e negativos e guarda a parte fraccionária juntamente com uma parte exponencial, naquilo a
que se chama de notação científica: x = mbt, (com m  R: mantissa, b  2: base e t  [l,u]  Z:
expoente).

Exemplo 1: Com b = 10, m = 3 e t[-5,5], o menor número, em valor absoluto é xm = 0.100  10–5 =
10–6 e o maior é xM = 0.999  105 = 99900.

Em 1985, a IEEE (Institute for Electrical and Electronic Engineers) publicou um relatório chamado
Binary Floating Point Arithmetic Standard 754 – 1985, no qual foram especificados formatos com
precisão simples, dupla e múltipla e esses padrões são geralmente usados por todos os fabricantes de
microprocessadores que usam máquinas de pontos flutuantes.

Por exemplo, os co-processadores numéricos dos PC da série IBM 3000 usavam, para números com
precisão simples, uma representação de 32-bit (1-7-24) dos números x = mbt, com b = 16,
− 64  t  63 e m = mantissa (resultante da adição de potências de base 2 e expoentes negativos).
Com base nesta representação, o número x tem o seguinte formato: x = (–1)smbc, sendo s regulador

do sinal (0 = “+” ou 1 = “–“) e c = t + 64 característica do número, isto é, x = (−1) s 16c−64 m .


Usando a normalização imposta para números em ponto flutuante, a representação de 64-bit (1-11-
52) é usada para números em precisão dupla, com a qual o número x passa a ter o seguinte formato:

x = (−1) s 2c−1023 (1 + f ) , com s  0,1, c característica (resultante da adição de potências de base

2 e expoentes inteiros positivos) e f = m = fracção binária numa representação de 52-bit, isto é,


mantissa (resultante da adição de potências de base 2 e expoentes negativos). A título de exemplo,

12
um número decimal de precisão simples, em ponto flutuante, usado nas séries de máquinas IBM
3000, consiste num indicador de sinal de 1 dígito binário, um expoente de 7 dígitos binários com a
base 16 e uma mantissa de 24 dígitos binários. Uma vez que 24 dígitos binários correspondem entre
6 e 7 dígitos decimais, podemos assumir que este número tem pelo menos 6 casas decimais de
precisão para o sistema numérico decimal. O expoente 7 dá uma margem de oscilação de 0 a 127,
mas por causa da prevenção exponencial de casas decimais, a margem varia de –64 a +63, isto é,
subtrai-se 64 da anterior margem de oscilação. Procedimento análogo é aplicado nos casos de
números decimais de precisão dupla.

Exemplos:

a) O número de máquina, em precisão simples:

0 1000010 101100110000010000000000
representa precisamente o número decimal

+ [(1/2)1 + (1/2)3 + (1/2)4 + (1/2)7 + (1/2)8 + (1/2)14 ] * 1666–64 = 179,015625.

Uma vez que, nesta classe de máquinas, o primeiro dígito binário representa o sinal, com 0 a indicar (+)
e 1 (–), os sete dígitos binários representam o expoente e os últimos vinte e quatro dígitos binários
representam a mantissa, este número de máquina pode ser usado para aproximar qualquer número real
que se encontra no intervalo [179,01561737060546875;179,01563262939453125], dado que

0 1000010 101100110000001111111111 = 179,0156097412109375


é o número de máquina mais pequeno que antecede aquele e

0 1000010 101100110000010000000001 = 197,0156402587890625.


é o maior número de máquina que sucede aquele.

Com esta representação, o número positivo mais pequeno que pode ser expresso é

0 0000000 000100000000000000000000 = 16–65  10–78


e o maior é

0 1111111 111111111111111111111111  1663  1076.

b) O número de máquina, em precisão dupla:

0 10000000011 1011100100010000010000000000000000000000000000000000
representa precisamente o número decimal
13
+ [1+ (1/2)1 + (1/2)3 + (1/2)4 + (1/2)5 + (1/2)8 + (1/2)12 ] * 21027–1023 = 27,56640625.

1.2.2. – Erros de Aproximação

A representação na forma de ponto flutuante só permite a representação exacta de alguns números


reais, o que implica que tenhamos de aceitar representar os números em geral com uma certa margem
de erro.

A questão pertinente que se coloca é: dado um número real x, qual é o número em FP(b,p,q), onde b
representa a base aplicada para o sistema, p o número de dígitos disponíveis e q o expoente desejado
para a base em uso e que exprimiremos por Fl(x), que o representa? Se x tiver representação exacta em
FP(b,p,q), então Fl(x) = x. Se não for possível a representação exacta, existem basicamente duas
técnicas para determinar Fl(x): a truncatura, em que se desprezam simplesmente os dígitos do número
real x que não cabem na mantissa de p dígitos, e o arredondamento. Esta técnica consiste em adicionar
5 10n−( p+1) à mantissa de x antes da truncatura, para se obter: Fl(x) = .12... p * 10n. Nesta técnica,

se dp+1  5, adiciona-se 1 a dp para se obter Fl(x), isto é, arredonda-se por excesso. Se dp+1 < 5, aplica-se
a truncatura de tudo o que vem depois das p casas, isto é, arredonda-se por defeito.

Quando uma máquina de calcular ou computador digital são usados para fazer cálculos numéricos deve
ser tomado como inevitável este tipo de erro de aproximação, que aparece pelo facto de a aritmética
feita numa máquina envolver apenas valores numéricos com um número finito de algarismos (dígitos).
Num computador típico, só um subconjunto relativamente pequeno do sistema de números reais é
usado para representar todos os números reais. Este subconjunto contém só números racionais e guarda
a parte fraccionária, chamada mantissa, junto com uma parte exponencial chamada característica,
como foi mostrado nos exemplos anteriores.

Números que aparecem nas máquinas de calcular com um valor inferior ao menor que a máquina
suporta provocam um esvaziamento “underflow” e são convertidos a zero, enquanto que os que
ostentam valores superiores ao maior que a máquina suporta provocam um transbordo “overflow” e a
consequente paragem do processamento da máquina ou do computador, geralmente com mensagem
“error”.

Os sistemas de representação de números descritos nestes exemplos não são padrão para todas as
máquinas de calcular, mas dão uma indicação das possíveis dificuldades que podem ocorrer.

Qualquer número real positivo y pode ser normalizado para obter a forma .d1d2...dkdk+1dk+2... * 10n, se
assumirmos que o número em questão está dentro do limite permitido pela máquina.

14
Definição 1.13 (erro absoluto e erro relativo):

Se p* é uma aproximação de p, o erro absoluto é igual a |p–p*| e o erro relativo é igual a


p − p*
, desde que p  0.
p

Definição 1.14 (dígitos significativos):

Diz-se que o número p* aproxima p com t algarismos (ou dígitos) significativos se t é o

p − p*
maior número inteiro não negativo, para o qual  5  10 −t .
p

A razão de se utilizar o erro relativo na definição é para se obter um conceito contínuo.

Para se reduzir os efeitos dos erros de arredondamento pode se usar cálculos aritméticos com muitos
dígitos, como quando se opta pelas precisões dupla ou múltipla disponíveis em muitos computadores.
A sua desvantagem é que ela leva muito mais tempo de execução.

Outra forma de estimar erros de arredondamento consiste em usar uma aritmética de intervalos, isto é,
reter o maior e o menor valores possíveis em cada passo, para que no fim se possa ter um intervalo que
contém o valor correcto. Infelizmente, a resposta certa pode estar perto dos extremos do intervalo, ou
pode-se ter que achar um intervalo muito pequeno para uma implementação razoável. É também
possível estudar-se erros de um ponto de vista estatístico, que, entretanto, por envolver muita análise,
está para além do âmbito deste texto.

Uma vez que são usadas técnicas iterativas envolvendo sequências, esta secção vai terminar com uma
breve abordagem do conceito de ordem de convergência...

Algoritmos e Convergência

Um algoritmo é um procedimento que descreve, sem ambiguidade, um sequência finita de


passos numa ordem específica, com o objectivo de resolver um problema ou aproximar a
solução do problema.

Pseudo códigos (especificações técnicas) são usados para descrever os algoritmos, especificando a
forma como devem ser alimentados e a forma desejável do resultado esperado.

Nem todos os procedimentos numéricos dão um resultado satisfatório para valores arbitrariamente
escolhidos para “input”. Como consequência, uma técnica de paragem independente da técnica

15
numérica deve ser incorporada em cada algoritmo, para que ciclos intermináveis possam ocorrer uma
única vez.

Dois símbolos de pontuação são usados nos algoritmos: o ponto (.) para indicar a terminação de um
passo e o ponto e vírgula (;) para separar tarefas dentro de um mesmo passo. A indentação é usada para
indicar que grupos de instruções devem ser executados como uma única entidade.

Técnicas cíclicas nos algoritmos são controladas por contadores como “For i = 1, 2, ... , n, xi = ai +
i*h”, ou por condições como “While i < N execute steps 3 – 6.”. Para permitir execuções
condicionadas, usam-se as instruções padrão “If...Then ...” ou “If...Then...Else... ”.

Os passos do algoritmo seguem geralmente as regras das instruções em programação estruturada, tendo
sido organizados para reduzir ao mínimo as dificuldades de tradução das especificações técnicas.

A escolha de um algoritmo deve obedecer o critério de que pequenas alterações nos dados iniciais
provoquem pequenas alterações nos dados finais. Algoritmos que satisfazem esta condição dizem-se
estáveis, sendo instáveis os que a violam.

Def. 1.15: Suponhamos que En representa a magnitude de um erro depois de n operações


subsequentes. Se En  CnE0, onde C é uma constante independente de n, o crescimento do
erro diz-se linear. Se En  CnE0 para algum C > 1, o crescimento do erro diz-se
exponencial.

Fig 1.7

O crescimento linear de um erro geralmente é inevitável e quando C e E0 são pequenos os resultados


são aceitáveis, o que significa que algoritmos que originam um crescimento linear do erro são estáveis.
O crescimento exponencial de um erro deve ser evitado, uma vez que Cn torna-se grande mesmo para

16
valores relativamente pequenos de n, criando imprecisões inaceitáveis independentemente do tamanho
de E0. Isto torna instáveis os algoritmos que originam este tipo de crescimento de erro.

Def. 1.16: Suponhamos que (n) seja uma sequência convergente para 0 e (n) seja uma

sequência convergente para . Se existir uma constante positiva K tal que  n −   k  n

para valores de n muito grandes, então diz-se que (n) converge para  com a taxa de
convergência O(n). Esta expressão lê-se “Oh maiúsculo de n” e esta relação exprime-se:
n =  + O(n).

Embora a definição 1.16 permita-nos comparar (n) com qualquer sequência arbitrária (n), em quase
1
todas as situações tem-se n = , para algum p > 0. Em regra consideramos o maior valor possível de
np
p, para o qual n =  + O(1/np ), para descrever a taxa com que n converge para .

Def. 1.17: Suponhamos que lim G (h) = 0 e lim F (h) = L . Se uma constante positiva K
h →0 h →0

existe tal que F (h) − L  k G (h) para valores suficientemente pequenos de h, então F(h) = L

+ O(G(h)).

Geralmente a função de comparação G tem a forma G(h) = h p , para algum p > 0. Igualmente
consideramos o maior valor possível de p, para o qual F(h) = L + O(G(h)), para descrever a taxa de
convergência de F(h) para L.

Exercícios (1.2):
1. Determine o erro absoluto e o erro relativo nas seguintes aproximações de p por p*:
Ea p − p*
Resolvidos: Ea = p − p * ; Er = =
p p

a) p = 8!, p* = 39900 → Ea = 8!− 39900 = 40320 − 39900 = 420

8!− 39900 40320 − 39900 420


Er = = =  0.0104
8! 40320 40320
9
9
9
9
b) p = 9!, p* = 18   → Ea = 9!− 18    362880 − 359536.87 = 3343.13
e e

Ea 3343.13
Er =   0.0092 .
p 362880
Não resolvidos:

17
c) p = , p* = 22/7 d) p = , p* = 3.1416
e) p = e, p* = 2.718
f) p= 2, p* = 1.414
g) p = e10, p* = 22000 h) p = 10, p* = 1400

2. Suponhamos que p* deva aproximar p com um erro relativo não superior a 10–3. Ache o maior
intervalo em que p* deve situar-se para cada um dos seguintes valores de p.
Ea p − p*
Resolvido: (não superior: ) → Er = =  10 −3
p p

90 − p *
a) 90 → Er =  10 −3  90 − p *  0.09  −0.09  p * − 90  0.09
90
 89.91  p*  90.09  p* [89.91;90.09]
Não resolvidos:

b) 150 c) 900 d) 1500

3. Ache os intervalos para x usando a definição 1.14, sabendo que x é uma aproximação, com 4
algarismos significativos, de:
p−x
Resolvido: (4 algarismos significativos:  5  10−4 )
p

3
7−x
a)
3
7 → 3
 5  10 −4  3
7 − x  3 7  5  10 −4 
7

( )
 −3 7  5  10−4  x − 3 7  3 7  5  10−4  3 7 1 − 5  10−4  x  3 7 1 + 5  10−4 ( )
 1.911974717 < x < 1.913887648
Não resolvidos:

b)  c) e
d) 2
4. Faça os seguintes cálculos (i) exactamente, (ii) usando a truncatura a 3 dígitos e (iii) usando o
arredondamento a 3 dígitos. Determine o erro relativo nos cálculos (ii) e (iii).
Resolvidos:
a) (164 + 0,913) – (143 + 21)
(i) 𝑥𝑒 = (164 + 0.913) − (143 + 21) = 164.913 − 164 = 0.913
x e − xt 3 0.913
(ii) 𝑥𝑡3 = (164 + 0.913) − (143 + 21) = 164 − 164 = 0 → Er = = =1
xe 0.913

xe − x a 3 0.087
(iii) 𝑥𝑎3 = (164 + 0.913) − (143 + 21) = 165 − 164 = 1→ Er = =  0.09529
xe 0.913

18
b) 4/5 * 1/3
4 1 4
(i) xe =  =  0.266666666
5 3 15

4 1 x e − xt 3 0.000666666
(ii) xt 3 =   0.800  0.333  0.266 → Er = =  0.0025
5 3 xe 0.266666666

4 1 x e − xt 3 0.000666666
(iii) xa 3 =   0.800  0.333  0.266 → Er = =  0.0025
5 3 xe 0.266666666

Não resolvidos:

c) 14,1 + 0,981 d) 0,218 * 179 e) (164 – 143) + 0,913


f) 4/5 + 1/3 g) (1/3 – 3/11) + 3/20 h) (1/3 + 3/11) – 3/20

5. Faça os seguintes cálculos usando (i) arredondamento a três dígitos, (ii) arredondamento a quatro
dígitos, (iii) truncatura a três dígitos e (iv) truncatura a quatro dígitos. Determine em cada caso o
erro absoluto e o erro relativo, com o valor correcto determinado com uma exactidão de pelo menos
cinco dígitos.

a) 133 + 0.921 b) (13/14 – 6/7) / (2e – 5.4) c) (121 – 0.327) – 119

d) 133 – 0.499 e) (121 – 119) – 0.327 f) –10 + 6e – 3/62

g) (2/9) * (9/7) h) (– 22/7) / (1/17)

6. As medidas aproximadas das dimensões de um paralelepípedo rectangular são 3m, 4m e 5m.


a) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no cálculo da
área da superfície do sólido, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
b) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no cálculo do
volume do sólido, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
Resolução:
a) Área da superfície do paralelepípedo: A = 2(xy + xz + yz)
(i) Arredondamento que gera o maior erro: x = 2.5; y = 3.5 , z = 4.5
Ae = 2(2.5  3.5 + 2.5  4.5 + 3.5  4.5) = 2(8.75 + 11.25 + 15.75) = 2  35.75 = 71.5
Aa = 2(3  4 + 3  5 + 4  5) = 2(12 + 15 + 20) = 2  47 = 94
Ea 22.5
Ea = 71.5 − 94 = 22.5 ; Er = =  0.314685
Ae 71.5

19
(ii) Truncatura que gera o maior erro: x = 3.9; y = 4.9 , z = 5.9
𝐴𝑒 = 2(3.9 × 4.9 + 3.9 × 5.9 + 4.9 × 5.9) = 2(19.11 + 23.01 + 28.91) = 2 × 71.03
= 142.06
𝐴𝑎 = 2(3 × 4 + 3 × 5 + 4 × 5) = 2(12 + 15 + 20) = 2 × 47 = 94
𝐸𝑎 48.06
𝐸𝑎 = |142.06 − 94| = 48.06; 𝐸𝑟 = = 142.06 ≈ 0.3383
𝐴𝑒

b) Volume do paralelepípedo: V = xyz


(i) Arredondamento que gera o maior erro: x = 2.5; y = 3.5 , z = 4.5
𝐴𝑒 = 2.5 × 3.5 × 4.5 = 39.375
𝐸𝑎 20.625
𝐴𝑎 = 3 × 4 × 5 = 60 → 𝐸𝑎 = |39.375 − 60| = 20.625; 𝐸𝑟 = = 39.375 ≈ 0.5238
𝐴𝑒

(ii) Truncatura que gera o maior erro: x = 3.9; y = 4.9 , z = 5.9


𝐴𝑒 = 3.9 × 4.9 × 5.9 = 112.749
𝐸𝑎 52.749
𝐴𝑡 = 3 × 4 × 5 = 60 → 𝐸𝑎 = |112.749 − 60| = 52.749; 𝐸𝑟 = = 112.749 ≈ 0.4678
𝐴𝑒

7. Um terreno rectangular mede aproximadamente 5km e 3 km.


a) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no cálculo do
perímetro do terreno, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
b) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no cálculo da
área do terreno em hectares, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
8. Use o formato das máquinas IBM para achar o número no sistema decimal, equivalente aos
seguintes números de máquina em ponto flutuante e precisão simples, aos respectivos antecessores,
bem como aos respectivos sucessores:
a) 0-1000011-101010010011000000000000 b) 1-0111111-010001111000000000000000
c) 0-0111111-010001111000000000000000 d) 0-0111111-01000111100000000000000

1
9. O número e está definido por e =  , onde n!= n(n − 1)(n − 2)2 1 para n  0 e 0! = 1. Use a
n =0 n !

truncatura a quatro dígitos para calcular as seguintes aproximações de e e determine os erros


absoluto e relativo.
5 5 10 10
1 1 1 1
a) e   b) e   c) e   d) e  
n =0 n ! j =0 (5 − j ) ! n =0 n ! j = 0 (10 − j ) !

10. Ache a taxa de convergência das seguintes sequências, quando n → :

20
1 1 2
d) limln(n + 1) − ln n = 0
=0 =0 c) lim sin  = 0
a) lim sin b) lim sin 1 n →
n → n n → n2 n →
 n
11. Ache a taxa de convergência das seguintes funções, quando h → 0:

sin h 1 − cos h sin h − h cos h 1 − eh


a) lim =1 b) lim =0 c) lim =0 = −1
h →0 h h →0 h h →0 h d) lim
h →0 h

21
2. RAÍZES REAIS DE EQUAÇÕES NÃO LINERARES E DE SISTEMAS DE EQUAÇÕES
LINEARES
Neste capítulo estudaremos um dos problemas mais básicos em análise numérica: encontrar valores da
variável x que satisfazem a equação f(x) = 0, para uma dada função f. A solução para este problema
chama-se zero da função y = f(x) ou raiz da equação f(x) = 0.

Assim, para se resolver uma equação f(x) = 0, começa-se por se criar intervalos, aleatoriamente, e
testar-se se os mesmos contêm ou não uma raiz, através do Teorema do valor intermédio. Achado um
intervalo, tomam-se os extremos desse intervalo como as primeiras aproximações da raiz da equação e
aplica-se uma das técnicas que se seguem, para refinar, isto é, para melhorar a aproximação.
Normalmente, cada técnica consiste num procedimento cíclico. A cada ciclo do procedimento dá-se o
nome de iteração, por usar como input o output do ciclo anterior, e o procedimento é sempre
descritível através de um algoritmo que pode servir de guia para um pequeno programa de computador.

2.1. O algoritmo da bissecção

A primeira técnica, baseada no teorema do valor intermédio (T1.11), chama-se método de bissecção,
ou algoritmo da bissecção ou ainda método de pesquisa binária.

Seja f  C[a,b], com f(a) e f(b) de sinais contrários. Nestas condições, o teorema diz existir p, com a <
p < b, tal que f(p) = 0.

Fig. 2.1

22
Como mostra a figura 2.1, o método consiste em subdividir repetidamente o intervalo [a,b] em duas
metades e em cada passo localizar a metade que contém p. Para começar faz-se a substituição a1 = a e
b1 = b e coloca-se p1 como ponto médio do intervalo [a,b], isto é: p1 = ½(a1 + b1). Se f(p1) = 0, então p
= p1. Se não, então f(p1) tem o mesmo sinal que f(a1) ou f(b1). Se f(p1) e f(a1) têm o mesmo sinal, então
p] p1,b1[, e fazemos as substituições a2 = p1 e b2 = b1. Se f(p1) e f(b1) têm o mesmo sinal, então p]
a1, p1[, e fazemos as substituições a2 = a1 e b2 = p1. Feito isto, repetimos o processo no intervalo [a2,b2]
e depois no intervalo [a3,b3] e assim por diante, aplicando-se sempre a “fórmula geral” pn = ½(an + bn)
, da sequência (pn) = (½(an + bn)), de convergência garantida. Esta técnica encontra-se resumida no
Algoritmo 2.1 e a sua aplicação pode ser feita e controlada com ajuda de um dos seguintes quadros:

Tabela 1: Método de bissecção

n an bn pn f(pn) (<> 0 ?)

...

Tabela 2: Método de bissecção

n an bn pn f(pn) f(pn) f(an) < 0? f(pn) f(bn) < 0?

...

2.1.1. – Critérios de Paragem

O processo descrito anteriormente deve terminar em algum momento, mesmo que não se tenha achado
a solução exacta. A forma mais comum consiste em estabelecer um critério de paragem, tal como o que
vem expresso no passo 4 do algoritmo 2.1.

23
Vamos mencionar outros procedimentos de paragem que podem ser usados, os primeiros três dos quais
são aplicáveis para qualquer técnica iterativa considerada neste capítulo.

Escolhe-se uma tolerância  > 0 e cria-se uma sequência p1, ..., pN, de iterações, até uma das seguintes
condições ser satisfeita:

(2.1) |f(pN)| < ; (2.2) |pN – pN –1| < ;


p N − p N −1 bN − a N
(2.3) < , com pN  0; (2.4) < , com aN  0.
pN aN
Infelizmente podem surgir dificuldades na utilização indiscriminada destes critérios de paragem. Por
exemplo, há sequências (pn) com propriedade de que pn – pn –1 converge para zero, enquanto que a
própria sequência é divergente. É também possível f(pn) estar perto de zero enquanto pn difere
significativamente de p. Sem conhecimentos adicionais sobre f ou p, a inequação (2.2) é o melhor
critério de paragem aplicável, porque testa o erro relativo...

Teorema 2.1 (Cálculo do número de iterações):

Suponhamos que fC[a,b] e f(a)*f(b) < 0, isto é, f(a) e f(b) têm sinais contrários. O método de
bissecção gera uma sequência (pn) que converge para a raiz p (ou zero de f), com |pn – p| 
(b – a) / 2n < , para n  1.

Este teorema permite-nos estimar o número de iterações necessárias para se alcançar a exactidão
desejada, sem ser necessário verificar em cada iteração se algum dos critérios de paragem apresentados
é satisfeito ou não.

Algoritmo 2.1 (de bissecção) : (Consulte Burden, p. 49)

Exemplo: Use o algoritmo da bissecção para achar a solução correcta até 10–6 para a equação x3 + 4x2
– 10 = 0, em [1;2].

Resolução:
6
N.º mínimo de iterações: |pn – p|  (2 – 1) / 2n < 10–6  2n >
1
=1000000  n   19.9 
10 −6 lg 2
n  20.

24
i ai bi pi f(a0) f(b0) f(pi)
0 1 2 -5 14
1 1 2 1,5 2,375
2 1 1,5 1,25 -1,796875
3 1,25 1,5 1,375 0,162109375
4 1,25 1,375 1,3125 -0,848388672
5 1,3125 1,375 1,34375 -0,350982666
6 1,34375 1,375 1,359375 -0,096408844
7 1,359375 1,375 1,3671875 0,032355785
8 1,359375 1,3671875 1,36328125 -0,032149971
9 1,36328125 1,3671875 1,365234375 7,20248E-05
10 1,36328125 1,365234375 1,364257813 -0,016046691
11 1,364257813 1,365234375 1,364746094 -0,007989263
12 1,364746094 1,365234375 1,364990234 -0,003959102
13 1,364990234 1,365234375 1,365112305 -0,001943659
14 1,365112305 1,365234375 1,365173340 -0,000935847
15 1,365173340 1,365234375 1,365203857 -0,000431919
16 1,365203857 1,365234375 1,365219116 -0,000179949
17 1,365219116 1,365234375 1,365226746 -5,39625E-05
18 1,365226746 1,365234375 1,365230560 9,030993E-06
19 1,365226746 1,365230560 1,365228653 -2,24658E-05
20 1,365228653 1,365230560 1,365229607 -6,71741E-06
21 1,365229607 1,365230560 1,365230083 1,156788E-06
22 1.365229607 1.365230083 1.365229845 -2.780312E-06
23 1.365229845 1.365230083 1.365229964 -8.117625E-07

Exercícios (2.1):
1. Use o teorema 2.1 para achar um limite para o número de iterações necessárias para alcançar uma
aproximação à solução de uma equação, que se encontra no intervalo [1,2], com uma exactidão até
10–4.
Resolução:
4
=10000  n   13.3  n  14.
1
|pn – p|  (2 – 1) / 2n < 10–4  2n > −4
10 lg 2
2. Use o algoritmo da bissecção para achar soluções correctas até  = 10−5 para os problemas
seguintes:
Resolvido:
a) ex + 2–x + 2cos x – 6 = 0 para 1  x  2,
1
(i) N.º mínimo de iterações: |pn – p|  (2 – 1) / 2n < 10–5  2n > =100000 
10 −5
5
n  16.6  n  17
lg 2

25
(ii)
i ai bi pi f(a0) f(b0) f(pi)
0 1 2 -1,70111 0,806762
1 1 2 1,5 -1,02328314
2 1,5 2 1,75 -0,30458766
3 1,75 2 1,875 0,194379041
4 1,75 1,875 1,8125 -0,06827443
5 1,8125 1,875 1,84375 0,059637426
6 1,8125 1,84375 1,828125 -0,00515671
7 1,828125 1,84375 1,835938 0,027028879
8 1,828125 1,835938 1,832031 0,010883456
9 1,828125 1,832031 1,830078 0,002850245
10 1,828125 1,830078 1,829102 -0,00115651
11 1,829102 1,830078 1,82959 0,000846047
12 1,829102 1,82959 1,829346 -0,00015544
13 1,829346 1,82959 1,829468 0,000345254
14 1,829346 1,829468 1,829407 9,48956E-05
15 1,829346 1,829407 1,829376 -3,0274E-05
16 1,829376 1,829407 1,829391 3,231E-05
17 1,829376 1,829391 1,829384 1,01784E-06
Não resolvidos:

b) x − 2 − x = 0 para 0  x  1 c) ex – x2 + 3x – 2 = 0 para 0  x  1
3
3. Ache uma aproximação de 25 , correcta até quatro algarismos significativos, usando o algoritmo
da bissecção. [Dica: Considere f(x) = x3 – 25].

4. Ache uma aproximação de 3 , correcta até quatro algarismos significativos, usando o algoritmo
da bissecção.

5. Use o teorema 2.1 para achar um limite para o número de iterações necessárias para alcançar uma
aproximação à solução de x3 + x – 4 = 0, que se encontra no intervalo [1,4], com uma exactidão até
10–3. Ache uma aproximação à raiz com este grau de exactidão.

26
2.2. Iteração do ponto fixo

O método nesta secção e a maioria dos restantes métodos deste capítulo baseiam-se na mudança da
equação f(x) = 0 para g(x) = x, equação típica que fornece os pontos fixos de g(x). Há muitas maneiras
de realizar esta mudança. Um dos procedimentos consiste em definir g(x) como sendo x – f(x). Neste
caso, x satisfaz f( x ) = 0 se e só se g( x ) = x . Consequentemente, se pode ser encontrado o método
geral de resolução de um problema na forma g(x) = x, então uma solução para f(x) = 0 pode ser obtida
definindo-se a função g(x) = x – f(x).

Definição 2.2:

Se g: [a,b] → R e g(p) = p para algum p[a,b], então a função g diz-se ter o ponto fixo p em
[a,b].

Fig. 2.2

Exemplo 1: g(x) = x é uma função constituída só de pontos fixos, h(x) = x – senox tem ponto fixo
no intervalo [0;1] e i(x) = x2 tem dois pontos fixos: (0,0) e (1,1).

27
Teorema 2.3:

Se gC[a,b] e g(x)[a,b] x[a,b], então g tem um ponto fixo em [a,b]. Além disso, supondo
que g’(x)]a,b[ e |g’(x)|  k < 1 x[a,b], então g tem um único ponto fixo p em [a,b].

Fig. 2.3

Exemplo 2: Seja g(x) = (x2 – 1) / 3, no intervalo [–1;1]. Pelo teorema do valor extremo, o mínimo
absoluto de g ocorre em x = 0 e g(0) = – 1/3. Analogamente, os máximos de g ocorrem em x = 1, com
o valor g(1) = 0. Por outro lado, |g’(x)| = |2x / 3|  2/3 x(–1;1). Assim, g satisfaz a hipótese do
teorema 2.3 e tem um único ponto fixo em [–1;1], que se pode achar resolvendo-se a equação p = g(p)
= (p2 – 1) / 3, ou seja, p2 – 3p – 1 = 0.

28
Fig 2.4

Para se aproximar o ponto fixo de uma função g, escolhe-se uma aproximação inicial p0 e cria-se uma
sequência (pn): pn = g(pn–1) para cada n  1. Se a sequência converge para p e g é contínua, então,
pelo teorema 1.4, p = limn→ pn = limn→ g(pn–1) = g(limn→ pn– 1) = g(p), obtendo-se assim a solução
para x = g(x). Esta técnica chama-se técnica iterativa do ponto fixo ou iteração funcional e é
desenvolvida no Algoritmo 2.2.

Fig. 2.5

Exemplo 3: A equação x3 + 4x2 – 10 = 0 tem uma única raiz em [1;2], que é p = 1,36523 e foi achada
no exemplo 1 da secção 2.1. Há muitas maneiras de alterar a mesma equação para a forma x = g(x), por
simples manipulações algébricas:
(a) x = g1(x) = x – x3 – 4x2 + 10,

29
10
(b) x = g2(x) = − 4x ,
x
1
(c) x = g3(x) = 10 − x 3 ,
2

10
(d) x = g4(x) = e
4+ x
x 3 + 4 x 2 − 10
(e) x = g5(x) = x − .
3x 2 + 8 x
Comparando os resultados aos do algoritmo da bissecção achados nesta equação, pode verificar-se que,
enquanto a escolha da variante (a) conduziu a uma divergência e a escolha da variante (b) conduziu a
uma indefinição, resultados excelentes podem ser obtidos através da escolha das variantes (c), (d) e (e),
como o atestam os quadros na página seguintes. Em especial, se a variante (c) tem uma taxa de
convergência similar à do método de bissecção, já as variantes (d) e (e) têm uma taxa de convergência
três ou quatro vezes mais alta.

O exemplo anterior ilustra a necessidade de um procedimento que garanta a convergência da função g


para uma solução de x = g(x), bem como a escolha de g de maneira a tornar essa convergência o mais
rápida possível. O seguinte teorema é o primeiro passo para a determinação de um procedimento do
género.

Teorema 2.4:

Seja gC[a,b] e suponhamos que g(x)[a,b] x[a,b]. Além disso, g’[a,b], com |g’(x)|  k <
1 x]a,b[. Se p0]a,b[, então a sequência definida por pn = g(pn–1), n  1, convergirá para
um único ponto fixo p[a,b].

Corolário 2.5:

Se g satisfaz a hipótese do teorema 2.4, um limite do erro envolvido na utilização de pn para


aproximar p é dado por

|pn – p|  kn  max{p0 – a, b – p0} n1 e |pn – p|  kn / (1 – k)  |p0 – p1| n1.

30
a)
i pi g1(pi)
0 0,5 9,375
1 9,375 -1156,162109
c)
2 -1156,162109 1540106415
3 1540106415 -3,65302E+27 i pi g3(pi)
4 -3,65302E+27 4,8748E+82 0 0,5 1,571225636
4,8748E+82 Divergente 1 1,571225636 1,23703645
2 1,23703645 1,423640897
b) 3 1,423640897 1,333663279
4 1,333663279 1,380929894
i pi g2(pi) 5 1,380929894 1,357075141
0 0,5 4,242640687 6 1,357075141 1,369373815
1 4,242640687 indefinido 7 1,369373815 1,363100441
8 1,363100441 1,366318139
d) 9 1,366318139 1,364672377
10 1,364672377 1,365515355
i pi g4(pi)
11 1,365515355 1,365083891
0 0,5 1,490711985
12 1,365083891 1,365304812
1 1,490711985 1,349539711
13 1,365304812 1,365191717
2 1,349539711 1,36723067
14 1,365191717 1,365249619
3 1,36723067 1,364975542
15 1,365249619 1,365219976
4 1,364975542 1,365262391
16 1,365219976 1,365235152
5 1,365262391 1,365225894
17 1,365235152 1,365227383
6 1,365225894 1,365230538
18 1,365227383 1,36523136
7 1,365230538 1,365229947
19 1,36523136 1,365229324
8 1,365229947 1,365230022 20 1,365229324 1,365230366
9 1,365230022 1,365230012 21 1,365230366 1,365229833
22 1,365229833 1,365230106
e) 23 1,365230106 1,365229966
i pi g5(pi) 24 1,365229966 1,365230038
0 0,5 2,368421053 25 1,365230038 1,365230001
1 2,368421053 1,649408073
2 1,649408073 1,397991494
3 1,397991494 1,365743858
4 1,365743858 1,365230143
5 1,365230143 1,365230013
6 1,365230013 1,365230013

Como mostram estes quadros, a aplicação deste método é feita em conformidade com o seguinte
modelo de quadro:

31
Tabela 3: Método do ponto fixo

n pn g(pn)
0
1
...
Algoritmo 2.2 (Iteração do ponto fixo) : (Consulte Burden, p. 59)

Exercícios (2.2):
1. Use o teorema 2.3 para mostrar que g(x) = 2–x tem um único ponto fixo no intervalo [1/3,1]. Use a
iteração do ponto fixo para achar uma aproximação do ponto fixo com exactidão até 10 –4. Use o
corolário 2.5 ou 2.6 para estimar o número de iterações requerido para alcançar a exactidão de 10–4
e compare esta estimativa teórica ao número real que se pretende.
2. Use o teorema 2.3 para mostrar que g(x) =  + 0,5sen x tem um único ponto fixo no intervalo
[0,2]. Use a iteração do ponto fixo para achar uma aproximação do ponto fixo com exactidão até
10–2. Use o corolário 2.5 ou 2.6 para estimar o número de iterações requerido para alcançar a
exactidão de 10–2 e compare esta estimativa teórica ao número real que se pretende.
3. Resolva x3 – x – 1 = 0 para a raiz do intervalo [1,2], usando iteração do ponto fixo. Obtenha uma
aproximação da raiz com exactidão até 10–5.

4. Use um procedimento de iteração de ponto fixo para achar uma aproximação de 3 que esteja
exacta até quatro algarismos significativos. Compare o seu resultado e o número de iterações
requerido com a resposta obtida no exercício 4 da secção 2.1.
3
5. Use um procedimento de iteração de ponto fixo para achar uma aproximação de 25 que esteja
exacta até quatro algarismos significativos. Compare o seu resultado e o número de iterações
requerido com a resposta obtida no exercício 3 da secção 2.1.
6. Para cada uma das seguintes equações, determine um intervalo [a,b] em que a iteração do ponto
fixo converge. Estime o número de iterações necessárias para obter aproximações exactas até 10–5 e
efectue os cálculos:
a) x = (2 – ex + x2) / 3
b) x = 4–x
c) x = 5–x
d) x = 6–x
e) x = 1,75 + (4x – 7) / (x – 2)
7. Para cada uma das seguintes equações determine a função g e um intervalo [a,b] em que a iteração
do ponto fixo converge para uma solução positiva da equação e ache as soluções com uma
exactidão de 10–5.
a) 3x2 – ex = 0
b) x – cos x = 0

32
8. Ache todos os zeros de f(x) = x2 + 10 cos x aplicando o método de iteração do ponto fixo para uma
função apropriada de iteração g. Ache os zeros com exactidão até quatro algarismos significativos
e compare o número das iterações requeridas para o número que se pretende no exercício 8 da
secção 2.1.
9. Suponha que g é continuamente diferenciável nalgum intervalo ]c,d[ que contém o ponto fixo p de
g. Mostre que se |g’(p)| < 1, então existe  > 0 tal que a iteração do ponto fixo converge para
qualquer aproximação inicial p0, sempre que |p0 – p|  .

2.3. Métodos de Newton


2.3.1. Método de Newton-Raphson

O método de Newton-Raphson (mais conhecido por de Newton) é um dos métodos numéricos mais
poderosos e melhor conhecidos para o cálculo de raízes de f(x) = 0. Há pelo menos três maneiras
comuns de se introduzir o método de Newton. A maneira mais comum consiste em considerar a técnica
graficamente como se segue e que se encontra resumida no Algoritmo 2.3.

Fig. 2.6

Suponhamos que f’(x) existe num intervalo [a,b] e que f ( x)  0 nesse intervalo. Além disso,
suponhamos que existe um p  [a,b], tal que f(p) = 0. Seja p0  [a,b] arbitrário. Seja p1 o ponto em que
a linha tangente de f em (p0,f(p0)) cruza o eixo dos x. Para cada n  1, seja pn o ponto de intersecção
dessa linha tangente de f no ponto (pn–1, f(pn–1)) com o eixo dos x....

Algoritmo 2.3 (Newton) : (Consulte Burden, p. 67)

Outra possibilidade consiste em derivar o método de Newton como uma técnica simples de obter uma
convergência mais rápida do que a obtida por muitos outros tipos de iterações funcionais (veja secção

33
2.4). A terceira forma de se introduzir o método de Newton, que será desenvolvida a seguir, é uma
aproximação intuitiva baseada no polinómio de Taylor definido no teorema 1.12:

Suponhamos que a função f é diferenciável duas vezes consecutivas no intervalo [a,b], isto é,
f  C 2 a, b . Seja x  [a,b] uma aproximação de p, tal que f ( x )  0 e | x – p| é “muito pequeno”.
Consideremos um polinómio de Taylor do primeiro grau para f(x), desenvolvido em ordem a x ,
(x − x) 2
f ( x) = f ( x ) + ( x − x ) f ( x ) + f ( ( x)) , onde (x) se encontra entre x e x . Uma vez que f(p)
2
( p − x) 2
= 0, com x = p, isso dá 0 = f ( x ) + ( p − x ) f ( x ) + f ( ( x)) . Uma vez que foi assumido que
2
| x – p| era pequeno, | x – p|2 é ainda mais pequeno, e se esta quantidade é assumida como
desprezível, então 0  f ( x ) + ( p − x ) f ( x ) .

Resolvendo esta equação em ordem a p, temos: p  x – f( x ) / f’( x ), que deverá ser uma
aproximação de p melhor do que é x . Isto fixa a plataforma para o método de Newton-Raphson, que
f ( p n −1 )
envolve a criação da sequência (pn) definida por p n = p n −1 − , n  1.
f ( p n −1 )

As técnicas de paragem abordadas nas desigualdades (2.1), (2.2) e (2.3) são aplicáveis no método de
Nawton, isto é: escolher uma tolerância  > 0 e construir p1, ... pN, até

(2.1) |pN – pN–1| < , (2.2) |pN – pN–1| / |pN| <  ou (2.3) |f(pN)| < .

O método de Newton é uma técnica de iteração funcional pn = g(pn–1), n  1, para a qual


f ( p n −1 )
g ( p n −1 ) = p n −1 − , n  1.
f ( p n −1 )

É claro que, a partir desta equação, o método de Newton não pode continuar se f‘ (pn–1) = 0, para algum
n. Veremos que o método é mais eficaz quando f  está limitado de uma maneira que situa o ponto fixo
p longe de zero. A aplicação deste método é feita em conformidade com o seguinte quadro:

Tabela 4: Método de Newton (Newton-Raphson)

n pn f(pn) f ( p n )
0
1
...
Exemplo 1: Para aproximar a solução da equação 𝑥 = 𝑐𝑜𝑠 𝑥, seja f ( x) = cos x − x . Então, f(/2) =

–/2 < 0 < 1 = f(0), e, segundo o teorema do valor intermédio, existe um zero de f em [0;/2]. O gráfico

34
pode mostrar que f(x) = 0 tem uma única solução em [0;/2]. Uma vez que f’(x) = –seno – 1 < 0 x 
[0;/2], o método de Newton tem a seguinte forma: Pn = Pn–1 – (cosseno Pn–1 – Pn–1) / (–seno Pn–1 – 1),
para n  1, onde P0 ainda está por se escolher. Para alguns problemas pode se escolher P0
arbitrariamente, enquanto que para outros é importante escolher uma boa aproximação inicial. Para o
problema em apreço, o gráfico sugere P0 = /4 como uma aproximação inicial, que nos fornece a
seguinte tabela:

n Pn f(Pn) f'(Pn)
0 0.78539816340 -0.07829138221 -1.70710678119
1 0.73953613352 -0.00075487468 -1.67394528828
2 0.73908517811 -0.00000007513 -1.67361206236
3 0.73908513322 0.00000000000
O seguinte teorema de convergência para o método de Newton ilustra a importância da escolha de p0.

Teor 2.6: Seja f  C2[a,b]. Se p[a,b] é tal que f(p) = 0 e f’(p)  0, então  > 0 tal que o
método de Newton gera uma sequência (pn) convergente para p, para qualquer aproximação
inicial p0[p– , p+].

2.3.2. Método de Secantes

O método de Newton é uma técnica extremamente poderosa, mas tem um grande inconveniente: a
necessidade de se conhecer o valor da derivada de g em cada aproximação. Frequentemente f (x) é
mais difícil de determinar e precisa de mais operações aritméticas para se calcular do que propriamente
f(x). Para se contornar o problema de se calcular a derivada no método de Newton, deduz-se uma
pequena variação da mesma. Por definição,

f ( x) − f ( Pn−1 )
f ( Pn−1 ) = lim . Sendo x = Pn–2, teremos
x→ Pn −1 x − Pn−1

𝑓(𝑃𝑛−2 ) − 𝑓(𝑃𝑛−1 ) 𝑓(𝑃𝑛−1 ) − 𝑓(𝑃𝑛−2 )


𝑓 ′ (𝑃𝑛−1 ) ≈ = .
𝑃𝑛−2 − 𝑃𝑛−1 𝑃𝑛−1 − 𝑃𝑛−2

Aplicando esta aproximação de f ( p n−1 ) na fórmula de Newton obtém-se

f ( Pn−1 )( Pn−1 − Pn−2 )


Pn = Pn−1 − .
f ( Pn−1 ) − f ( Pn−2 )

35
A técnica que usa esta fórmula chama-se método de secantes e é apresentada de forma resumida no
Algoritmo 2.4. (Consulte Burden, p. 71)

A aplicação deste método é feita em conformidade com o seguinte quadro:

Tabela 5: Método de Newton (Secantes)

n pn f(pn)
0
1
...
E no exemplo anterior a aplicação deste método daria

( Pn−1 − Pn−2 )(cos Pn−1 − Pn−1 )


Pn = Pn−1 − , para n  2, e produziria a seguinte tabela:
(cos Pn−1 − Pn−1 ) − (cos Pn−2 − Pn−2 )

n Pn f(Pn)
0 0.0000000000 1.0000000000
1 1.5707963268 -1.5707963268
2 0.6110154704 0.2080503951
3 0.7232695414 0.0263762877
4 0.7395671070 -0.0008067229
5 0.7390834365 0.0000028396
6 0.7390851330 0.0000000003
7 0.7390851332 0.0000000000
Pode notar-se através deste exemplo que, com a exactidão encontrada dom P5, a convergência do
método de secantes geralmente é mais lenta do que a do método de Newton, em que a mesma exactidão
foi encontrada com P3.

2.3.3. Método de Posição Falsa

Cada par sucessivo de aproximações no método de bissecção acerca-se da raiz p da equação, isto é,
para cada número inteiro positivo n, uma raiz situa-se entre an e bn. Isto implica que para cada n o
método de bissecção satisfaz a desigualdade |Pn – p| < ½|an – bn|, que fornece um limite de erro simples
de calcular para as aproximações. No exemplo anterior foi achada a aproximação da raiz de x – co-seno
x = 0 como sendo 0.7390851332. Note-se que pelo método de Newton esta raiz não está cercada nem

36
pelo par P0 e P1, nem pelo par P1 e P2. Pelo método de secantes as aproximações iniciais P0 e P1
começaram cercando a raiz, mas o par de aproximações P3 e P4 não conseguiu fazer o mesmo.

O método de posição falsa (também chamado método Regula Falsi) gera aproximações da mesma
maneira que o método se secantes, mas fornece um teste em cada iteração para garantir que a raiz está
cercada. Embora não seja um método propriamente recomendável, ilustra a maneira como o cerco da
raiz pode ser incorporado.

Escolhem-se duas aproximações iniciais P0 e P1, com f(P0)*f(P1) < 0, isto é f(P0) e f(P1) de sinais
contrários. A aproximação P2 é escolhida da mesma maneira que no método de secantes, como sendo o
ponto de intersecção do eixo dos x com a recta que une os pontos (P0,f(P0)) e (P1,f(P1)). Para se decidir
qual é a linha secante que se deve usar para determinar P3, verificamos se f(P2) e f(P1) têm sinais
contrários. Se sim, então P1 e P2 cercam a raiz e escolhemos P3 como sendo o ponto de intersecção do
eixo dos x com a secante que passa pelos pontos (P1,f(P1)) e (P2,f(P2)). Se não, então fazemos o mesmo
mas com o par P0 e P2. Assim se procede para a determinação de todos os valores seguintes, até se
satisfazer o critério de paragem. Esta técnica encontra-se resumida no Algoritmo 2.5. A aplicação deste
método é feita em conformidade com o seguinte quadro:

Tabela 6: Método de Newton (posição Falsa)

n pn f(pn) f(pn) (<> 0 ?)


0
1
...

Fig. 2.7

37
Algoritmo 2.5 (Posição falsa) : (Consulte Burden, p. 73)

Exercícios (2.3):

1. Seja f ( x) = x 2 − 6 e p0 = 1. Use o método de Newton para achar p2.


2. Seja f ( x) = − x
3
− cos x e p0 = −1 . Use o método de Newton para achar p2. Podia p0 = 0 ser
usado?

3. Seja f ( x) = x − 6 e p0 = 3 e p1 = 2 . Ache p3, usando:


2

a) O método de secantes.
b) O método de posição falsa.
c) Qual dos dois aproxima melhor 6?

4. Seja f ( x) = − x − cos x e p0 = −1 e p1 = 0 . Ache p3, usando:


3

a) O método de secantes.
b) O método de posição falsa.
5. Use o método de Newton para achar soluções exactas até 10 −4 para os seguintes problemas:
a) x 3 − 2 x 2 − 5 = 0 , 1,4 b) x 3 + 3x 2 −1 = 0 , − 3,−2
   
c) x − cos x = 0 , 0, 2  d) x − 0.8 − 0.2 sin x = 0 , 0, 2 
   
6. Use o método de Newton para achar soluções exactas até 10 −5 para os seguintes problemas:
a) x3 – x – 1 = 0, [1,2] b) e x + 2 − x + 2 cos x − 6 = 0 , 1,2
c) ln( x −1) + cos(x −1) = 0 , 1.3,2 d) (𝑥 − 2)2 − 𝑙𝑛 𝑥 = 0, 1,2 e e,4
e) e x − 3x 2 = 0 , 0,1 e 3,5 f) 2𝑥 𝑐𝑜𝑠 2 𝑥 − (𝑥 − 2)2 = 0, 2,3 e 3,4
g) sin x − e − x = 0 , 0,1 , 3,4 e 6,7
7. Repita os exercícios 5 e 6 usando (i) o método de secantes e (ii) o método de posição falsa.
8. O polinómio de 4º grau 𝑓(𝑥) = 230𝑥 4 + 18𝑥 3 + 9𝑥 2 − 221𝑥 − 9 tem dois zeros reais, um em
− 1,0 e outro em 0,1 . Tente aproximar estes zeros até 10 −6 , usando (a) o método de posição falsa,
(b) o método de secantes e (c) o método de Newton, tomando as extremidades dos intervalos nos
casos (a) e (b) e os pontos médios dos intervalos no caso (c) como primeiras aproximações.
9. Use o método de Newton para aproximar as soluções das seguintes equações com exactidão até 10–5.
a) x = (2 – ex + x2) / 3 b) 3x2 – ex = 0
c) ex + 2–x + 2 cos x – 6 = 0 d) x2 + 10 cos x = 0

10. Calcule uma aproximação de 3 com exactidão de quatro algarismos significativos, usando o
método de Newton com p0 = 2.

38
2.4. Análise de erros dos métodos iterativos e técnicas de aceleração de
convergência

Esta secção é dedicada à investigação da ordem de convergência dos esquemas de iteração funcional e
funciona como um meio de obtenção de convergência rápida, redescobrindo o método de Newton.
Vamos considerar também outras formas de acelerar a convergência.

Definição 2.7: Suponhamos que (pn), com n = 0,1,...,, é uma sequência que converge para p e que en
= pn – p para qualquer n  0. Se existirem  e , com limn→|en+1|/|en| = , então se diz que (pn), com n
= 0,1,...,, tem uma convergência para p da ordem , com um erro assimptótico constante .

Uma técnica iterativa de solução de um problema da ordem x = g(x) diz-se ser de ordem  se, sempre
que o método dá convergência para uma sequência (pn), com n = 0,1,...,, onde pn = g(pn–1) para n  1,
então a sequência (pn), com n = 0,1,...,, converge para a solução de ordem .

Dois casos merecerão atenção especial.

1. Se  = 1, a sequência diz-se linearmente convergente. Por exemplo, o método do algoritmo da


bissecção dá uma convergência linear.

2. Se  = 2, a sequência diz-se quadraticamente convergente. Por exemplo, o método de Newton-


Raphson é quadraticamente convergente.

O exemplo seguinte mostra que uma iteração do ponto fixo é geralmente linear e também compara a
convergência linear com a quadrática.

Teorema 2.8: Suponhamos que queremos achar uma solução aproximada de g(x) = x, usando o
esquema de iterações do método de ponto fixo pn = g(pn–1), para qualquer n  0. Assumindo que g
aplica o intervalo [a,b] a si próprio e que um número positivo k existe, com |g’(x)|  K < 1 para todos x
 [a,b], o teorema 2.4 implica que g tem um único ponto fixo p  [a,b] e se p0  [a,b], então a
sequência do ponto fixo (pn) com n = 0,..., converge para p. Esta convergência será linear, se g’(p) 
0.

Se n é qualquer número inteiro positivo, então

en+1 = pn+1 – p = g(pn) – g(p) = g’(n)(pn – p) = g’(n)en,

onde n está entre pn e p. Uma vez que (pn) com n = 0, ..., converge para p, (n) com n = 0,...,
também converge para p. Assumindo que g’ é contínua em [a,b], teremos limn→ g’(n) = g’(p).

39
Assim, limn→ en+1 / en = limn→ g’(n) = g’(p) e limn→ |en+1| / |en| = |g’(p)|.

Deste modo, a iteração do ponto fixo exibe convergência linear se g’(p)  0. Uma convergência de
maior grau só pode ocorrer se g’(p) = 0.

Teorema 2.9: Seja p uma solução de x = g(x). Suponhamos que g’(p) = 0 e g” é contínua
num intervalo aberto contendo p. Então existe um  > 0, tal que para p0  [p–, p+], a
iteração de ponto fixo torna-se num método de segunda ordem. Além disso, se |g”(x)| / 2  M
para p–  x  p+ e M|e0| < 1, então a iteração do ponto fixo convergirá e a convergência
será quadrática.

Para se usar o teorema 2.9 na resolução duma equação da forma f(x) = 0, suponhamos que a equação
f(x) tem uma solução p para a qual f’(p) = 0. Consideremos um esquema de ponto fixo pn = g(pn–1), n 
1, com g da forma g(x) = x – (x)f(x), onde (x) é uma função arbitrária a ser escolhida mais tarde.

Se (x) é limitada, então g(p) = p, e para que o procedimento iterativo derivado de g seja de
convergência quadrática, é suficiente que g’(p) = 0. Mas g’(x) = 1 – ’(x)f(x) – f’(x)(x) e g’(p) = 1 –
f’(p)(p), em virtude de f(p) = 0. Por conseguinte, g’(p) = 0 sse (p) = 1/f’(p).

Em particular, uma convergência quadrática continua válida para o esquema sob condições viáveis de f.
Porém, uma vez que p e consequentemente f’(p) são geralmente desconhecidos, uma aproximação
razoável é (x) = 1/f’(x), para que (p) = 1/f’(p). Então o procedimento torna-se pn = g(pn–1) = pn–1 –
f(pn–1)/f’(pn–1) que pode ser reconhecido como método de Newton.

Na discussão anterior foi necessário que na solução p, f’(p)  0.

Definição 2.10: Uma solução p da equação f(x) = 0, é uma raiz de multiplicidade m de f, se para x 
p, f(x) = (x – p)mq(x), onde q(x) é uma única função tal que limx→pq(x)  0 e m é um número inteiro
positivo.

O seguinte teorema dá um meio de se identificar zeros simples de uma função, isto é, aqueles que têm
multiplicidade 1.

Teorema 2.11: fC1[a,b] tem um zero simples p em (a,b), se e só se f(p) = 0 e f’(p)  0.

Teorema 2.12 (generalização do teorema 2.11): fCm[a,b] tem um zero p de multiplicidade m em


(a,b), se e só se

0 = f(p) = f’(p) = f’’(p) = … = f(m–1)(p) e f(m)(p)  0.

40
Um método de segunda ordem que não envolve f’ é uma técnica de aceleração chamada Processo 2
de Aitken e pode ser usada para acelerar a convergência de qualquer sequência que é linearmente
convergente, independentemente da sua origem.

Suponhamos que (pn) com n = 0,..., é uma sequência linearmente convergente com o limite p, isto é,
para en = pn – p, limn→ |en+1| / |en| = , com 0 <  < 1.

Para investigar a construção de uma sequência (pn*) com n = 0,...,, que converge mais rapidamente
para p, suponhamos que o caso limitativo ocorre para todos os números inteiros n, e que todos en têm o
mesmo sinal. Neste caso, en+1 = en para cada n  0. Assim, pn+2 = en+2 + p = en+1 + p, ou p n+2 = (
pn+1– p) + p para cada n  0.

Substituindo nesta última equação (n+1) por n obtém-se pn+1 = ( pn – p) + p e resolvendo estas duas
últimas equações em ordem a p enquanto se elimina  obtém-se

p  (pn+2 pn – pn+12)/(pn+2 – 2pn+1 + pn)

= (pn2 + pn pn+2 + 2pn pn+1 – 2pn pn+1 – pn2 – pn+12)/( pn+2 – 2pn+1 + pn)

= [(pn2 – 2pn pn+1 + pn pn+2) – (pn2 – 2pn pn+1 + pn+12)]/( pn+2– 2pn+1 + pn)

p = p̂ n = pn – (pn+1 – pn)2/( pn+2 – 2pn+1 + pn)

Em geral, a suposição inicial en+1 = en não será verdadeira, porém, é suposto que a sequência ( p̂ n )
com n = 0,...,, definida através de p̂ n = pn – (pn+1 – pn)2/( pn+2 – 2pn+1 + pn), convirja mais

rapidamente para p do que a sequência original (pn) com n = 0,..,.

Esta técnica de construir uma sequência mais rapidamente convergente é chamada método 2 de Aitken
por causa da seguinte definição:

Definição 2.13: Dada uma sequência (pn) com n = 0,..,, define-se a diferença
progressiva: pn = pn+1 – pn para n  0. Potências maiores estão definidas recursivamente
através de kpn = k–1(pn) para k  2. Por causa da definição, tem-se:

2pn = (pn) = ( pn+1 – pn) =  pn+1 – pn

= (pn+2 – pn+1) – (pn+1 – pn) = pn+2 – 2 pn+1 + pn.

Assim, a fórmula de p̂ n pode ser expressa como p̂ n = pn – (pn)2/2pn para todos n  0.

41
Até este ponto da nossa discussão do método 2 de Aitken afirmamos que a sequência ( p̂ n ) com n =
0,..., converge mais rapidamente para p do que a sua original (pn) com n = 0,..., mas não dissemos
exactamente o que significava “convergência mais rápida”. O teorema seguinte explica e justifica esse
conceito.

Teorema 2.14: Seja (pn) uma sequência linearmente convergente para o limite p e que para

todos os valores de n suficientemente grandes (pn – p)(pn+1 – p) > 0. Então a sequência ( p̂ n )


com n = 0,..., converge para p mais rapidamente que (pn) com n = 0,...,, no

sentido em que limn→ ( p̂ n – p)/( pn – p) = 0.

O método 2 de Aitken acelera a convergência de qualquer sequência linearmente convergente


independentemente da origem da sequência. A aplicação do método 2 de Aitken à iteração do ponto
fixo dá origem ao procedimento conhecido por Método de Steffensen. (Algoritmo 2.6).

Note-se que 2pn pode ser igual a zero. Se tal acontece terminamos a sequência e seleccionamos p2n-1
como a resposta aproximada, uma vez que de contrário entraria zero no denominador da iteração
seguinte.

Algoritmo 2.6 (Steffensen) : (Consulte Burden, p. 89)

Teorema 2.15: Suponhamos que x = g(x) tem a solução p com g’(p)  1. Se existe um  > 0
tal que g  C3[ p– , p + ], então o método de Steffensen dá uma convergência quadrática
p0  [p – , p + ].

2.5. Zeros reais de polinómios

Uma função da forma P(x) = anxn + an-1xn-1 + ... + a1x + a0, onde ai são constantes e an  0 chama-se
polinómio de grau n. Todos os polinómios considerados nesta secção são supostos ser reais, isto é, ai
são números reais. A função zero, ou equação P(x) = 0 para todos os valores de x, é considerada
polinómio mas sem grau.

Teorema 2.16: (Teorema fundamental de Álgebra): Se P é um polinómio de grau n  1,


então P(x) = 0 tem pelo menos uma raiz (possivelmente complexa).

42
Corolário 2.17: Se P(x) = anxn + an-1xn-1 + ... + a1x + a0 é um polinómio de grau n  1, então
existem constantes únicas x1,x2,...,xk, (possivelmente complexas) e números inteiros
positivos m1, m2, ..., mk, tais que

k
 mi = n e P(x) = an(x – x1)m1(x – x2)m2...(x – xk)mk.
i =1

Se (x – xi)mi é um factor de P(x), xi é raiz de P(x) = 0 (ou zero de P) de multiplicidade mi. O corolário
afirma que os zeros de um polinómio são únicos e que cada zero xi é contado tantas vezes quanto é a
sua multiplicidade mi, então um polinómio de grau n tem exactamente n zeros.

Corolário 2.18: Sejam P e Q polinómios de grau não superior a n. Se x1, x2, ..., xk (k > n) são
números distintos com P(xi) = Q(xi) para i = 1, 2, ..., k, então P(x) = Q(x) para todos os
valores de x.

Para se usar o procedimento de Newton-Raphson na localização de zeros aproximados de um


polinómio P é necessário avaliar P e os seus valores específicos derivados. A avaliação de um
polinómio de grau n na raiz x = x0, dá (2n–1) multiplicações e n adições. O teorema seguinte
apresenta um algoritmo conhecido por método de Horner ou, na sua forma condensada, divisão
sintética. O método de Horner requer apenas n multiplicações e n adições para avaliar um polinómio e
consequentemente é mais eficiente em termos de tempo necessário e é suposto ser melhor em termos de
redução do efeito dos erros de aproximação.

Teorema 2.19 (Método de Horner): Seja P(x) = anxn + an-1xn-1 + ... + a1x + a0 e bn = an. Se bk
= ak + bk+1x0 para k = n – 1, n – 2, ..., 1, 0, então b0 = P(x0). Além disso, se

Q(x) = bnxn–1 + bn–1xn–2 + ... + b2x + b1, então

P(x) = (x – x0)Q(x) + b0.

Uma vantagem adicional do método de Horner (ou divisão sintética) é que, uma vez que P(x) = (x –
x0)Q(x) + b0, onde Q(x) = bnxn–1 + bn–1xn–2 + ... + b2x + b1, derivando em ordem a x dá

P’(x) = Q(x) + (x – x0)Q’(x) e P’(x) = Q(x0).

Portanto, quando o método de Newton-Raphson é usado para achar um zero aproximado de um


polinómio P, tanto P como P’ podem ser avaliados da mesma maneira. (Algoritmo 2.7).

O polinómio designado por Q depende da aproximação usada e das mudanças de iteração para iteração.

43
Se a N-ésima iteração xN no procedimento de Newton-Raphson é um zero aproximado de P, então P(x)
= (x – xN)Q(x) + b0 = (x – xN)Q(x) + P(xN)  (x – xN)Q(x). Assim, x – xN é um factor aproximado de
P(x). Sendo 𝑥̂1 = xN um zero aproximado de P e Q1(x) o factor aproximado, P(x)  (x – 𝑥̂1 )Q1(x),
podemos encontrar um segundo zero aproximado de P aplicando o procedimento de Newton-Raphson
para Q1(x). Se P é um polinómio de grau n com n zeros reais, este procedimento aplicado
repetidamente irá eventualmente produzir (n–2) zeros aproximados de P e uma aproximação quadrática
do factor Qn–2(x). Neste passo, Qn–2(x) = 0 pode ser resolvido pela fórmula resolvente para achar os dois
últimos zeros de P. Embora este método possa ser usado para se achar todos os zeros aproximados de
P, o mesmo depende do uso repetitivo aproximações e por isso pode conduzir a resultados muito
incorrectos, à chamada deflação. Apesar de este método ser útil para achar os zeros Uma forma de
eliminar esta dificuldade consiste em usar equações reduzidas, isto é, os factores aproximados no
polinómio original P, para achar as aproximações 𝑥̂1, 𝑥̂2 , ..., 𝑥̂𝑘 , dos zeros de P e depois melhorar essas
aproximações aplicando o método de Newton-Raphson no polinómio inical P.

Foi visto que o sucesso do método de Newton dependia muitas vezes da obtenção de uma boa
aproximação inicial. Uma vez que os polinómios são contínuos para a recta real, um método básico de
achar uma aproximação de um zero de um polinómio é dado pelo teorema do valor intermédio.

A ideia básica é avaliar P nos pontos xi com i = 1, 2, ..., k e j = i + 1. Se P(xi)P(xj) < 0, então P tem um
zero entre xi e xj. O problema torna-se numa simples questão de escolha de xi e xj suficientemente
pequenos, de maneira a minimizar a possibilidade de perder uma mudança de sinal.

Um método de achar intervalos contendo zeros reais de P(x) é encontrar uma aproximação inicial de
uma raiz real de

0 = P(x) = anxn + an-1xn-1 + ... + a1x + a0, anotando y  ]0,1] precisamente quando 1/y  [1,[ e y  [–
1,0[ quando 1/y  ] –,–1]. Assim, P(1/y) = an(1/y)n + an–1(1/y)n–1 + ... + a1(1/y) + a0 = 1/yn(an + an–1y
+ ... + a1yn–1 + an).

Deste modo, se 𝑃̂(𝑦) está definido por 𝑃̂(𝑦) = a0yn + a1yn–1 + ... + an–1y + an, então 𝑦̂ 0 é um zero de
𝑃̂se e só se 1/𝑦̂ é um zero de P.

Para achar aproximações de todos os zeros de P, é suficiente conseguir os intervalos [–1, 0] e [0, 1],
avaliando tanto P como 𝑃̂ para determinar as mudanças de sinal. Segundo o teorema do valor
intermédio, se P(xi) e P(xj) têm sinais contrários, então P tem zero entre xi e xj. (Se algum P(xi) = 0,
então já foi localizado um zero exacto de P.) Se 𝑃̂ (xi) e 𝑃̂ (xj) têm sinais contrários, então 𝑃̂ tem um

44
zero entre xi e xj e P tem um zero entre 1/xi e 1/xj. Nós consideramos os intervalos [–1,0[ e ]0,1]
separadamente para evitar confusão no caso em que 𝑃̂ (xi) e 𝑃̂ (xj) têm sinais contrários para xi no
intervalo [–1, 0[ e xj no intervalo ]0, 1] ou vice-versa.

Algoritmo 2.4 (Horner) : (Consulte Burden, p. 94)

Exercícios (2. 5):


1. Use cada um dos seguintes métodos para achar uma solução, exacta até 10 −4 , para a equação
600 x 4 − 550 x 3 + 200 x 2 − 20 x − 1 = 0 , para 0.1  x  1.
a) Método de bissecção; b) Método de Newton;
c) Método de secantes; d) Método de falsa posição.
2. Ache aproximações de todos os zeros reais dos seguintes polinómios, com uma exactidão de até 10–
4
, usando método de Newton.
a) 𝑓(𝑥) = 𝑥 3 − 𝑥 − 1. b) 𝑓(𝑥) = 𝑥 4 + 2𝑥 2 − 𝑥 − 3.
3 2
c) 𝑓(𝑥) = 𝑥 + 3𝑥 − 1. d) 𝑓(𝑥) = 𝑥 5 − 𝑥 4 + 2𝑥 3 − 3𝑥 2 + 𝑥 − 4.
e) 𝑓(𝑥) = 𝑥 3 − 2𝑥 2 − 5. f) 𝑓(𝑥) = 𝑥 3 + 4.001𝑥 2 + 4.002𝑥 +
1.101.
3. Ache aproximações de todos os zeros reais de cada um dos seguintes polinómios, com uma
exactidão de até 10–5:
a) P(x) = x 4 − 4 x 2 − 3x + 5. b) P(x) = x4 + 5x3 – 9x2 – 85x – 136.
c) P(x) = x 3 − 7 x 2 + 14 x − 6. d) P(x) = x4 – 2x3 – 12x2 + 16x – 40.
4 3 2
e) P(x) = x + x + 3x + 2x +2. f) P(x) = x5 + 11x4 – 21x3 – 10x2 – 21x – 5.
g) P(x) = x 4 − 2 x 3 − 4 x 2 + 4 x + 4. h) P(x) = 16 x 4 + 88x 3 + 159 x 2 + 76 x − 240 .
4. Use o método de Newton para achar os zeros e os pontos críticos das seguintes funções, com uma
exactidão de até 10–3 e use esta informação para fazer o esboço gráfico das funções.
a) P(x) = 𝑥 3 − 9𝑥 2 + 12.
b) P(x) = 𝑥 4 − 2𝑥 3 − 5𝑥 2 + 12𝑥 − 5.

2.6. Tipos especiais de matrizes

Def. 2.20: (Matriz estrita e diagonalmente dominante) - Uma matriz quadrada A, de ordem n, diz-se
n
estrita e diagonalmente dominante se aii   aij , para i = 1, 2, ..., n.
j =1
j i

45
7 2 0 
 
Exemplo: pode se verificar facilmente com ajuda da fórmula que A = 3 5 − 1 é uma matriz
 
0 5 − 6

6 4 − 3

estrita e diagonalmente dominante e que B = 4 − 2 0  não é.
 
− 3 0 1 

Teor. 2.21: Uma matriz estrita e diagonalmente dominante A é não singular. Além disso, as
eliminações de Gauss em qualquer sistema de equações lineares do tipo AX = b podem ser executadas
para se alcançar a sua solução (única), sem se recorrer à permuta de linhas.

Def. 2.22: (Matriz positivamente definida) - Uma matriz quadrada A está positivamente definida se é

 2 −1 0 
 
simétrica e XtAX > 0 para qualquer vector n-dimensional X  O. Exemplo: A = − 1 2 − 1 está
 
 0 − 1 2 
positivamente definida.

Teor. 2.23: Se A é uma matriz quadrada, de ordem n, positivamente definida, então:

a. A é não singular;

b. Aii > 0 para qualquer i = 1, 2, ..., n;

c. max akj  max aii ;


1i  n
1 k , j  n

d. (a ) ij
2
 aii  a jj .

Def. 2.24: (Sub matriz principal comandante) - Uma sub matriz principal comandante de uma matriz
quadrada A de ordem n é qualquer matriz quadrada de ordem k, desde que 1  k < n. Exemplo: (...)

Teor. 2.25: Uma matriz simétrica A está positivamente definida se e só se cada uma das suas sub
matrizes principais comandantes têm determinantes positivos.

Teor. 2.26: Uma matriz simétrica A está positivamente definida se e só se as eliminações de Gauss no
sistema de equações lineares AX = b podem se efectuar sem permuta de linhas e com todos os
elementos pivot positivos.

46
Cor. 2.27: Uma matriz A está positivamente definida se e só se A pode ser factorizado na forma LDLt,
onde L é a matriz triangular inferior de A, com 1 na diagonal e D é uma matriz diagonal com elementos
positivos.

Cor. 2.28: Uma matriz está positivamente definida se e só se A pode ser factorizado na forma LLt,
onde L é a matriz triangular inferior de A, sem zeros na diagonal.

Cor. 2.29: Seja A uma matriz simétrica de ordem n, na qual as eliminações de Gauss podem se efectuar
sem permuta de linhas. Então A pode ser factorizada na forma LDLt, onde L é a matriz triangular

inferior de A com 1 na diagonal e D a matriz diagonal com os elementos a11(1) , ..., ann( n ) .

Def. 2.30: (Matriz de banda) - Uma matriz quadrada de ordem n diz-se matriz de banda se existirem
contadores inteiros p e q , tais que 1 < p,q < n, com a propriedade aij = 0 sempre que i + p  j ou j + q 
i. A largura da banda de uma matriz de banda está definida como w = p + q − 1.

Teor. 2.31: Suponhamos que A = (aij) é tridiagonal, com ai ,i −1ai ,i +1  0 , para qualquer i = 2, 3, ..., n − 1.
Se a11  a12 , aii  ai ,i −1 + ai ,i +1 , para qualquer i = 2, 3, ..., n − 1 e ann  an ,n−1 , então A é não

singular.

Exercícios (2.6):

1. Determine quais das seguintes matrizes são (i) simétricas, (ii) singulares, (iii) estrita e
diagonalmente dominantes e (iv) definidas positivamente:

 2 1 − 2 1 
a) 1 3 b)  
   1 − 3
2 1 0 2 1 0

c) 0 3 0
 
d) 0 3 2

   
1 0 4 1 2 4

4 2 6  2 − 1 0

e) 3 0 7 
f) − 1 4 2

   
− 2 − 1 − 3  0 2 2

47
4 0 0 0  2 3 1 2
6 7 0 0 − 2 4 − 1 5
g)   h)  
9 11 1 0  3 7 1.5 1
   
5 4 1 1  6 − 9 3 7

2. Decomponha em LDLt as seguintes matrizes:

 2 −1 0   3 −3 6   3 −6 9 

a) − 1 2 − 1
 
b) − 3 2 − 7 
c) − 6 14 − 20
     
 0 − 1 2   6 − 7 13   9 − 20 29 
4 1 1 1  4 1 − 1 0 6 2 1 − 1
1 3 − 1 1  1 3 − 1 0 2 4 1 0
d)   e)   f)  
1 − 1 2 0  − 1 − 1 5 2 1 1 4 − 1
     
1 1 0 2  0 0 2 4 − 1 0 −1 3 

− 1 2 0 −  2 −2 4 −4
 2 −3 2 − 1 − 2 3 −4 5 
g)   h)  
0 2 5 6  4 − 4 10 − 10
   
 1 −1 6 12  − 4 5 − 10 14 

3. Quais das matrizes simétricas do exercício anterior estão definidas positivamente?


4. Ache o(s) valor(es) de , para os quais as seguintes matrizes estão definidas positivamente:

  1 − 1  2  − 1

a) 1 2 1
 
b)  2 2
   
− 1 1 4  − 1 1 4 
5. Ache o(s) valor(es) de  e 
> 0, para os quais a seguinte matriz é estrita e diagonalmente dominante:
 4  1
2  5 4 
 
  2  

48
6. Ache o(s) valor(es) de  > 0 e  > 0, para os quais a seguinte matriz é estrita e diagonalmente
dominante:
3 2  
 5  
 
 2 1  
7. Suponhamos que A e B sejam matrizes do tipo n×n, estrita e diagonalmente dominantes:
a) –A é estrita e diagonalmente dominante?
b) At é estrita e diagonalmente dominante?
c) A+B é estrita e diagonalmente dominante?
d) A2 é estrita e diagonalmente dominante?
e) A–B é estrita e diagonalmente dominante?
8. Suponhamos que A e B estejam matrizes do tipo n×n, definidas positivamente:
a) –A está definida positivamente?
b) At está definida positivamente?
c) A+B está definidas positivamente?
d) A2 está definida positivamente?
e) A–B está definidas positivamente?
 1 0 − 1
9.  
Seja A = 0 1 1 . Ache todos os valores de , para os quais:
 
− 1 1  
a) A é singular.
b) A é estrita e diagonalmente dominante.
c) A é simétrica.
d) A está definida positivamente.
 1 0
10. Seja A =   2 1 . Ache todos os valores de  e , para os quais:
 
 0 1 2
a) A é singular.
b) A é estrita e diagonalmente dominante.
c) A é simétrica.
d) A está definida positivamente.
11. Suponhamos que A e B comutam, isto é, AB = BA. Deverão também At e Bt comutar?
12. Dê exemplo de uma matriz A que é não simétrica, para a qual XtAX > 0.
13. Seja A uma matriz tridiagonal dada por aii = 2, ai,i+1 = ai,i–1 = –1 para cada i = 2, ..., 9, a11 = a10,10
= 2 e a12 = a10,9 = –1. Seja b o vector coluna decadimensional dado por b1 = b10 = 1 e bi = 0 para
cada i = 2, ..., 9. Resolva o sistema de equações lineares AX = b.

49
2.7. Normas de vectores e de matrizes

Def. 2.32: Uma norma de vector em  é uma função • , de  em  , com as seguintes


n n

propriedades:

(i) ||X||  0 para qualquer X   n ;

(ii) ||X|| = 0 se e só se X = O;

(iii) ||X|| = ||||X|| para quaisquer    e X   n ;

(iv) ||X + Y||  ||X|| + ||Y|| para quaisquer X,Y   n .

Para o nosso curso vamos precisar de duas normas em  específicas, apenas, embora uma terceira
n

norma em  seja apresentada no exercício 2.


n

Uma vez que os vectores em  são matrizes coluna ou vectores (coluna), é conveniente usar a
n

notação de matriz transposta, quando o vector é apresentado através das suas componentes. Por

 x1 
x 
exemplo, X =   = (x1 x2  xn ) = (x1, x2, , xn)t.
2 t


 
 xn 

Def. 2.33: As normas l2 , l e l1 para o vector X = (x1, x2, , xn)t estão definidas como se segue:
n n
x2=  xi2 , x
i =1

= max xi e x 1 =  xi .
1i  n
i =1

A norma l2 é chamada norma euclidiana do vector X, uma vez que ela representa a anotação usual da
distância de X da origem, no caso de X estar em    ,  ou  . As outras são as normas infinita
1 2 3

e singular, respectivamente. Exemplo: X = (− 1,1,−2 ) . x


t
2
= 6 , x 
= 2 e x 1 = 1 + 1 + 2+ = 4 .

Teor. 2.34 (de Cauchy-Buniakowsky-Schwarz): Para cada X = (x1, x2, , xn)t e Y = (y1, y2, , yn)t
n
 n x 2  n y 2  = x  y .
em  , XtY =     i   i 
n
x y
 i =1  i =1 
i i
i =1

50
Uma vez que a norma de um vector dá uma medida da distância entre um vector arbitrário e o vector
zero, a distância entre dois vectores é definida como a norma da diferença dos vectores.

Def. 2.35: Se X = (x1, x2, , xn)t e Y = (y1, y2, , yn)t são vectores em  , as distâncias l2 e l entre X
n

n
e Y são definidas como x − y 2
= (x
i =1
i − yi ) 2 e x − y 
= max xi − yi . Exemplo: O seguinte
1i  n

 3,3330 x1 + 15920 x2 − 10,333x3 = 15913



sistema de equações lineares 2,2220 x1 + 16,710 x2 + 9,6120 x3 = 28,544 tem como solução
1,5611x + 5,17910 x + 1,6852 x = 8,4254
 1 2 3

(x , x , x ) = (1,1,1) . Se se aplicarem as eliminações de Gauss com aproximações a cinco dígitos


1 2 3
t t

usando a pivotização da maior coluna, a solução obtida é

X = (~ x2 ) = (1.2001, 0.999991, 0.92538) . Assim, as medidas de X − X são dadas por


~ ~
x1 , ~
x2 , ~
t t

~ ~
X − X = ... = 0.2001 e por X − X = = ... = 0.21356.
 2

Def. 2.36: A sequência X  (k )




k =1 de vectores em  diz-se convergente para X relativamente à norma
n

• , se, dado qualquer  > 0, existe um número inteiro N() tal que X (k ) − X   , para todos k 
N().

Teor. 2.37: A sequência X  (k )



k =1 converge para X em  relativamente à norma • , se e só se
n

lim
k →
xi( k ) = xi , para todos i = 1, 2, 3, ..., n. Exemplo: Seja X ( k )   4 definida por
t
 
= (x1 , x2 , x3 , x4 ) = 1, 2 + , 2 , e −k sin k  . Assim, a sequência X ( k ) k =1 converge
(k ) (k ) (k ) (k ) (k ) t 1 3 
X
 k k 
para (1,2,0,0)t, relativamente a • 
.

Def. 2.38: Uma norma de matriz no conjunto de todas as matrizes de ordem n é uma função real • ,

definida neste conjunto, com as seguintes propriedades para todas as matrizes A e B de ordem n e para
todos os escalares :

(i) A  0;

(ii) A = 0 , se e só se A = O (matriz nula, isto, é, cujos elementos são todos nulos);

51
(iii) A =   A ;

(iv) A + B  A + B ;

(v) AB  A  B .

A distância entre duas matrizes A e B de ordem n, relativamente a esta norma é definida como
A− B .

Exercícios (2.7):

1. Ache || X ||, || X ||2 e || X ||1 para os seguintes vectores:

a) X = (3, –4, 0, 3/2)t;

b) X = (2, 1, –3, 4)t;

c) X = (seno k, cos k, 2k)t, para um k positivo, inteiro e fixo;

d) X = (3, –4, 0, 3/2)t, para um k positivo, inteiro e fixo.

2.
n
a) Verifique que a função • 1 definida em  por X
n
1
=  X i é uma norma em  n .
i =1

b) Calcule X 1
dos vectores do exercício anterior.

c) Mostre que para qualquer Xn, X 1


 X 2
.

3. Ache os limites das seguintes sequências:


1−k
a) X(k) = ( 1 k , e ,− 2 k 2 ) t ;

−k
b) X(k) = (e cos k , k sin 1 k ,3 + k −2 ) t ;

−k 2 (cos k )
c) X(k) = (ke , k , k 2 + k − k )t ;
1 2
+1)
d) X(k) = (e k , ( k (1− k 2 )
, ( 1 k 2 )(1 + 3 + 5 + ... + (2k − 1)))t .

4. Calcule |||| das seguintes matrizes:

52
 2 −1 0   4 − 1 7

c) − 1 2 − 1
 
d) − 1 4 0

10 15 10 0    
a)   b)    0 − 1 2  − 7 0 4
0 1 15 1

~
5. Os seguintes sistemas de equações lineares AX = b têm X como solução exacta e X como uma
~ ~
aproximação dessa solução. Calcule || X – X || e ||A X – b||.

 12 1
3
 x1   164  1 2 3  x1   1 
a)  =      
1  x  b) 2 3 4 x2 = − 1
 13 4  2   1168      
3 4 6  x3   2 
X = (1/7, –1/6)
~ ~
X = (0, –7,5)t X =(–0.33, –7.9, 5.8)t
X =(0.124, –0.166)

1 2 3  x1   1  0.04 0.01 0.01  x1  0.06


    
c) 2 3 4 x2 = − 1

d) 0.2 0.5 0.2   x2  =  0.3 
         
3 4 6  x3   2   1 2 4   x3   11 
~ ~
X = (0, –7,5)t X =(–0.2, –7.5, 5.4)t X = (1.827586,0.6551724,1.965517)t X
=(1.8,0.64,1.9)t

2.8. Valores e Vectores próprios

Def. 2.39: Se A é uma matriz quadrada de grau n, o polinómio característico de A é definido por P() =
det(A – I).

Não é difícil mostrar que P() é um polinómio de grau n e que, consequentemente, tem no máximo n
zeros diferentes.

Def. 2.40: Se P é o polinómio característico da matriz A, os zeros de P são valores próprios ou


característicos da matriz A. Se  é um valor próprio de A e X  O satisfaz a igualdade (A – I)X = O,
então X é um vector próprio ou característico de A, correspondente ao valor próprio .

53
1 0 2 1−  0 2
Exemplo: A =
 
0 1 − 1  P( ) = det( A − I ) = 0 1 −  − 1 = (1 −  ) 3 + 3(1 −  ) .
 
− 1 1 1  −1 1 1− 

P( ) = 0  1 −  = 0  2 − 2 + 4 = 0  1 = 1; 2 = 1 + 2i ; 1 − 2i . Os valores próprios de A são,


pois, 1 = 1; 2 = 1+2i; 3 = 1-2i.

Def. 2.41: O raio de espectro (A) de uma matriz A está definido como (A) = max||, onde  é um
valor próprio de A.

 1 1 0 1−  1 0
Exemplo: A =
 1 2 1  P( ) = det( A − I ) = 1 2 −  − 1 = (1 −  )(2 −  ) 2 .
 
− 1 1 2 −1 1 2−

P( ) = 0  1 −  = 0  (2 −  ) 2 = 0  1 = 1; 2 = 2 . Assim, (A) = max|| = max{1,2} = 2.

Teor. 2.42: Se A é uma matriz de ordem n, então

(i) A 2 =  ( At A) ;

(ii) (A)  ||A||, para qualquer norma natural • .

 1 1 0 1 1 − 1 1 1 − 1  1 1 0  3 2 − 1
 
Exemplo: A = 1 2 1 → At = 1 2 1  → AtA = 1 2 1     .
       1 2 1 =  2 6 4 
− 1 1 2 0 1 2  0 1 2  − 1 1 2 − 1 4 5 

3− 2 −1
P( ) = det( A A − I ) = 2
t
6− 4 = −3 + 132 − 37 = 0  − (2 + 13 − 37) = 0  1 = 0;
−1 4 5−

13 + 317 13 − 317 13 + 317 13 + 317


2 = − ; 3 = −   ( A) = 1 = e A2 =  3.9245696.
2 2 2 2

Exercícios (2.8):

1. Calcule os valores próprios e os respectivos vectores próprios associados das seguintes matrizes e
ache o raio de espectro para cada uma:

54
 2 − 1 0 1 0 2
1
1 1 
a)   b)   c)  1  d)  
− 1 2  1 1 2 0 − 2 − 2

 2 1 0 − 1 2 0 2 2 1  3 2 − 1

e) 1 2 0
 
f) 0 3 4
 
g) 2 3 2
 
h) 1 − 2 3

       
0 0 3  0 0 7 1 1 2 2 0 4 

Quais das matrizes deste exercício são convergentes?

1 0   12 0
2. Mostre que  1 1  não é convergente, mas que  1
o é.
4 2 16 2

3. Ache ||||2 para as matrizes do exercício 1.

0 0 0 
 
4. Determine os valores próprios de  12 0 0 .
0 13 0

2.9. Técnicas Iterativas de Resolução de Sistemas de Equações

• Método iterativo de Jacobi: AX = b  (D – L – U)X = b  DX = (L + U)X + b  X =

D −1 ( L + U ) X + D −1b  X (k ) = T j X ( k −1) + C j .

Algoritmo 4.1 (Método iterativo de Jacobi) : (Consulte Burden, p. 440)

• Método iterativo (técnica iterativa) de Gauss-Seidel: AX = b  (D – L – U)X = b  (D –


(k ) ( k −1 )
L)X = UX + b  X = ( D − L) UX + ( D − L) b  X = Tg X
−1 −1
+ Cg .

Algoritmo 4.2 (Método iterativo de Gauss-Seidel) : (Consulte Burden, p. 442)

• Método SOR: AX = b  (D – L – U)X = b  (D – L)X(k) = [(1 – )D + U ]X(k–1) + b.

Com T = ( D − L) [(1 −  ) D + U ] e C =


−1
( D − L) −1 b tem-se X(k) = T X(k–1)

+ C.

Algoritmo 4.3 (Método SOR) : (Consulte Burden, p. 450)

55
Teor. 2.43: Para alguns X(0)n, a sequência X ( (k )
)

k =0 definida por X(k) = TX(k-1) + c, para cada k  1,

converge para a única solução de X = TX + c, se e só se (T) < 1.

Teor. 2.44: Se A é estrita e diagonalmente dominante, então para qualquer escolha de X(0), tanto o

método de Jacobi quanto o de Gauss-Seidel geram sequências X ( (k )


)

k =0 que convergem para a única

solução de AX = b.
~
Def. 2.45: Suponhamos que X   é uma aproximação da solução do sistema de equações definido
n

~ ~
por AX = b. O vector residual para X relativo a este sistema é r = b – A X .

Nos métodos iterativos de Jacobi e de Gauss-Seidel tratados anteriormente, a cada iteração i está ligado
(k )
um vector residual ri = (r1(i k ) , r2(ik ) ,, rmi( k ) ) t . Assim, por sua vez os vectores residuais formam uma
sequência de cujo grau de convergência para zero depende a rapidez de convergência do método e
vector inicial escolhidos, para a solução do sistema, gerando uma nova alternativa de resolução
iterativa de sistemas de equações lineares. Em especial, do método de Gauss-Seidel deduz-se a fórmula

(k ) ( k −1) rii( k )
Xi = Xi + , que, para além das grandezas conhecidas introduz a constante  > 0.
aii

Os métodos que envolvem esta fórmula são conhecidos como métodos de relaxamento. Para escolhas
de  < 1, os métodos designam-se métodos de sub-relaxamento e podem ser usados para se obter
convergência de alguns sistemas que não são convergentes pelo método de Gauss-Seidel. Para escolhas
de  > 1, os métodos designam-se métodos de sob-relaxamento, que são usados para acelerar a
convergência de alguns sistemas que são (lentamente) convergentes pelo método de Gauss-Seidel.
Estes últimos são mais conhecidos como métodos SOR (successive over-relaxation) e serão de grande
utilidade para o nosso curso, através da fórmula X(k) = T X(k–1) + C que foi deduzida e
desenvolvida no início desta secção.

Teor. 2.46 (Ostrowski-Reich): Se A é uma matriz definida positivamente, e  < 2, então o método
SOR converge para qualquer escolha do vector inicial de aproximação X(0).

Teor. 2.47: Se A é uma matriz tridiagonal e definida positivamente, então a escolha óptima de  para o
2
 (T ) =  − 1. Ex.: A = 
4 3 0
método SOR é = , com a qual .
1 + 1 − [  (T j )] 2 3 4 − 1
 
0 − 1 4 

56
Exercícios (2.9)

1. Dos seguintes sistemas de equações lineares, processe as duas primeiras iterações, pelo método de
Jacobi e depois pelo método de Gauss-Seidel, para a aproximação das respectivas soluções, usando
X(0) = O.

3 − 1 1  x1  1 10 − 1 0   x1  9


a) 3 6 2  x2  = 0 b) − 1 10 − 2  x2  = 7
3 3 7  x3  4  0 − 2 10   x3  6

10 5 0 0   x1   6   4 1 − 1 1   x1  − 2
 5 10 − 4 0   x   25   1 4 − 1 − 1  x   − 1
c)   2 =   d)   2 =  
 0 − 4 8 − 1  x3  − 11 − 1 − 1 5 1   x3   0 
         
 0 0 − 1 5   x 4  − 11  1 − 1 1 3   x4   1 

4 1 1 0 1   x1  6
 − 1 − 3 1 1 0   x  6 
  2  
e)  2 1 5 − 1 − 1  x3  = 6
    
 − 1 − 1 − 1 4 0   x 4  6 
 0 2 − 1 1 4   x5  6

 4 − 1 0 − 1 0 0   x1   0 
− 1 4 − 1 0 − 1 0   x   5 
  2  
 0 − 1 4 0 0 − 1  x3   0 
f)    =  
− 1 0 0 4 − 1 0   x 4   6 
 0 − 1 0 − 1 4 − 1  x5  − 2
    
 0 0 − 1 0 − 1 4   x6   6 

2. Resolva os sistemas usando os métodos iterativos de Jacobi e de Gauss-Seidel, com  = 10–3 a


norma l.
3. Processe as duas primeiras iterações pelo método SOR, com  = 1.1,  = 1.2 e  = 1.3, usando X(0)
= O e cinco iteracções.
4. Repita o exercício anterior apenas com as matrizes definidas positivamente, usando a escolha
óptima de .

57
3. APROXIMAÇÃO POR INTERPOLAÇÃO POLINOMIAL
Exemplo: Em cada 10 anos é feito um recenseamento da população dos EUA. A tabela seguinte
fornece a população, em milhares de habitantes, desde 1940 até 1990.

Ano 1940 1950 1960 1970 1980 1990


População (em milhares) 132.165 151.326 179.323 203.302 226.542 249.633
Revendo estes dados, podemos querer saber se podem ser usados para fornecer uma estimativa
da população, digamos, em 1965 ou mesmo em 2010. Previsões deste tipo podem ser feitas usando
uma função que encaixa os dados disponibilizados. Este processo chama-se interpolação e é o
assunto deste capítulo. Este problema da população é estudado ao longo deste capítulo e nos
exercícios 24 da secção 3.1, 14 da secção 3.2 e 24 da secção 3.4.

Uma das classes de funções mais úteis e melhor conhecidas que encaixam o conjunto de números reais
em si mesmo é a classe dos polinómios algébricos, o conjunto de funções do tipo

Pn ( x) = an x n + an−1 x n−1 +  + a1 x + a0 ,

Onde n é um inteiro não negativo e a0 ,, an são constantes reais. Uma razão para a sua importância é

devida ao facto de aproximarem funções contínuas uniformemente. Dada uma função qualquer,
definida e contínua num intervalo fechado e limitado, sempre existe um polinómio que é tão próximo
da função como se se quiser, tal como vem expresso no seguinte teorema. (Figura)

Teorema 3.1 (Teorema de aproximação de Weierstrass): Suponhamos que f seja definida e contínua
num intervalo [a , b]. Para qualquer  > 0, existe um polinómio P(x) que satisfaz a condição

f ( x) − P ( x)   , para qualquer x em [a , b].

A prova para este teorema pode ser encontrada em textos mais elementares da análise real (veja-se, por
exemplo, [Bart, pp. 165-172]).

Outra razão importante de considerar a classe dos polinómios na aproximação de funções é que as
derivadas e o integral indefinido de um polinómio são fáceis de calcular e são também polinómios. Por
estas razões, os polinómios são usados com maior frequência para aproximar funções contínuas.

Os polinómios de Taylor que foram introduzidos na primeira secção deste material são um exemplo
disso, embora não sejam os mais usados pelo facto de servirem para aproximar uma função com
exactidão relativa a um ponto apenas. Um bom polinómio de interpolação precisa de fornecer uma

58
aproximação relativamente exacta em todo o intervalo e polinómios de Taylor geralmente não fazem
isso. Por exemplo, suponhamos que determinamos os seis primeiros polinómios de Taylor para
f ( x) = e x , em x0 = 0 . Como as derivadas de f (x) são todas e x , cujo valor para x0 = 0 dá 1, os
1 2 1 1
polinómios de Taylor são P0 ( x) = 1 , P1 ( x) = 1 + x , P2 ( x) = 1 + x + x , P3 ( x) = 1 + x + x 2 + x 3 ,
2 2 6
1 2 1 3 1 4 1 1 1 4 1 5
P4 ( x) = 1 + x + x + x + x e P5 ( x) = 1 + x + x 2 + x 3 + x + x . (Figura)
2 6 24 2 6 24 120

Embora aproximações melhores sejam obtidas para f ( x) = e x com polinómios de Taylor de maior
grau, isto não acontece com todas as funções. Consideremos, como exemplo extremo, o uso de
1 1
polinómios de Taylor de vários graus para f ( x) = em x0 = 1 , para aproximar f (3) = . Uma vez
x 3
que f ( x) = x −1 , f ( x) = − x −1 , f ( x) = (−1) 2 2 x −3 e, em geral, f ( k ) ( x) = (−1) k k! x −k −1 , os polinómios
de Taylor são

n
f ( k ) (1) n
Pn ( x) =  ( x − 1) =  (−1) k ( x − 1) k .
k

k =0 k! k =0

1
Para aproximar f (3) = através de Pn (3) para valores crescentes de n obtém-se os valores tabelados
3
a seguir, que são um erro dramático!

Tabela 3.1

n 0 1 2 3 4 5 6 7
Pn (3) 1 -1 3 -5 11 -21 43 -85

Uma vez que os polinómios de Taylor têm a propriedade de concentrar toda informação usada num
único ponto x0 , o tipo de dificuldades que ocorre neste exemplo é comum e limita a aproximação pelo

polinómio de Taylor a situações em que são necessárias só nos pontos próximos de x0 . Para objectivos

de cálculo mais comuns é mais eficiente o uso de métodos que incluem informações de vários pontos,
que passamos a ver no restante deste capítulo. O uso primário de polinómios de Taylor na análise
numérica não é de fazer aproximações, mas sim, a dedução de técnicas numéricas e estimativa de erros.

59
3.1. Polinómio Interpolador de Lagrange

Nesta secção encontramos polinómios de aproximação que são determinados apenas com a
especificação de certos pontos do plano onde devem passar.

O problema de determinar um polinómio de primeiro grau, que passa pelos pontos distintos ( x0 , y0 ) e

( x1 , y1 ) é o mesmo que aproximar uma função f para a qual f ( x0 ) = y0 e f ( x1 ) = y1 , através de um


polinómio de primeiro grau interpolando, ou concordando com, os valores de f nos pontos dados. Em
x − x1 x − x0
primeiro definimos as funções L0 ( x) = e L1 ( x) = e depois definimos
x0 − x1 x1 − x0

P( x) = L0 ( x) f ( x0 ) + L1 ( x) f ( x1 ).

Uma vez que L0 ( x0 ) = 1, L0 ( x1 ) = 0 , L1 ( x0 ) = 0 e L1 ( x1 ) = 1 , temos

P( x0 ) = 1 f ( x0 ) + 0  f ( x1 ) = f ( x0 ) = y0

P( x1 ) = 0  f ( x0 ) + 1 f ( x1 ) = f ( x1 ) = y1

Assim, P é a única função linear que passa por ( x0 , y0 ) e ( x1 , y1 ) . (Figura)

Para generalizar o conceito de interpolação linear, consideremos a criação de um polinómio de grau n,


no máximo, que passa por n + 1 pontos.

( x0 , f ( x0 )) , (x1 , f ( x1 ) ) , ..., (xn , f ( xn )) . (Figura)

Neste caso precisamos de criar para cada k = 0, 1, ..., n, uma função Ln,k ( x) , com a propriedade de

Ln,k ( xi ) = 0 quando i  k e Ln,k ( xk ) = 1 . Para Ln,k ( x) satisfazer Ln,k ( xi ) = 0 para cada i  k requer que

o numerador contenha o termo

( x − x0 )(x − x1 )( x − xk −1 )(x − xk +1 )( x − xn ) .

Para Ln,k ( x) satisfazer Ln,k ( xk ) = 1 , o denominador deve ser igual a este termo calculado para x = xk .

Assim,

( x − x0 )( x − x1 )( x − xk −1 )( x − xk +1 ) ( x − xn )
Ln,k ( x) = .(Figura)
( xk − x0 )( xk − x1 ) ( xk − xk −1 )( xk − xk +1 ) ( xk − xn )

60
O polinómio interpolador é facilmente descrito, uma vez conhecido Ln,k ( x) . Este polinómio, chamado

o n-ésimo polinómio interpolador de Lagrange é definido no seguinte teorema.

Teorema 3.2: Se x0 , x1 ,  , xn são n+1 números distintos e f é uma função cujos valores são dados

nesses números, então existe um único polinómio P(x) de grau n, no máximo, tal que

f ( xk ) = P( xk ) , para qualquer k = 0, 1, ..., n.

Este polinómio é dado pela fórmula


n
P( x) = f ( x0 ) Ln , 0 ( x) + f ( x1 ) Ln ,1 ( x) +  + f ( x n ) Ln ,n ( x) =  f ( x k ) Ln ,k ( x) (3.1)
k =0

,
Onde, para cada k = 0, 1, ..., n,

( x − x0 )( x − x1 )  ( x − x k −1 )( x − x k +1 )  ( x − x n ) n
( x − xi )
Ln ,k ( x) = = . (3.2)
( x k − x0 )( x k − x1 )  ( x k − x k −1 )( x k − x k +1 )  ( x k − x n ) i =0 ( x k + xi )
ik

Vamos simplificar a escrita de Ln,k ( x) para Lk (x) , quando não haja confusão com o seu grau.

Exemplo 1: Usando os números (ou pontos) x0 = 2, x1 = 2,5 e x2 = 4, encontrar o polinómio


1
interpolador de segundo grau para f(x) = requer que determinemos os polinómios dos coeficientes
x
L0(x), L1(x) e L2(x). Na forma sequenciada eles são
( x − 2,5)( x − 4) ( x − 2)( x − 4) x(−4 x + 24) − 32
L0 ( x) = = x( x − 6,5) + 10 , L1 ( x) = = e
(2 − 2,5)(2 − 4) (2,5 − 2)(2,5 − 4) 3
( x − 2)( x − 2,5) x( x − 4,5) + 5
L2 ( x) = = .
(4 − 2)(4 − 2,5) 3
Uma vez que f(x0) = f(2) = 0,5, f(x1) = f(2,5) = 0,4 e f(x2) = f(4) = 0,25, temos
2
P ( x ) =  f ( x k ) Lk ( x )
k =0

x(−4 x + 24) − 32 x( x − 4,5) + 5


P( x) = 0,5x( x − 6,5) + 10 + 0,4  + 0,25 
3 3
P( x) = x(0,05x − 0,425) + 1,15 .
1
Uma aproximação de f(3) =  P(3) = 0,325. (figura)
3
Compare isto com a tabela 3.1, onde nenhum polinómio de Taylor desenvolvido para x0 = 1 podia ser
1
usado para aproximar razoavelmente f(3) = .
3
Teorema 3.3: Suponhamos que x0 , x1 , ... , xn são números distintos no intervalo [a , b] e
f  C n+1 a , b . Então, para qualquer x  [a , b], existe um número (x) em ]a , b[, tal que

61
f ( n+1) ( ( x) )
f ( x) = P( x) + ( x − x0 )( x − x1 ) ( x − xn ) ,
(n + 1)!
Onde P(x) é o polinómio interpolador dado no teorema 3.2.
Prova: Note primeiro que se x = xk , para qualquer k = 0, 1, ..., n, então escolhendo no intervalo ]a , b[
 ( xk ) arbitrariamente obtém-se esta fórmula. Se x  xk , para qualquer k = 0, 1, ..., n, define-se
a função g de t em [a , b], através da fórmula
(t − x0 )(t − x1 ) (t − xn ) n
t − xi
g (t ) = f (t ) − P(t ) −  f (t ) − P(t )  = f (t ) − P(t ) −  f (t ) − P(t )   .
( x − x0 )( x − x1 ) ( x − xn ) t = 0 x − xi

Uma vez que f  C n+1 a , b e P  C  a , b , resulta que g  C n+1 a , b . Para t = xk , tem-se


n
x − xi
g ( x k ) = f ( x k ) − P( x k ) −  f ( x k ) − P( x k )   k = 0 −  f ( x) − P( x)  0 = 0 .
t =0 x − xi

Além disso,
n
x − xi
g ( x) = f ( x) − P( x) −  f ( x) − P( x)   = f ( x) − P( x) −  f ( x) − P( x) = 0 .
t = 0 x − xi

Assim, g  C n+1 a , b e g é igual a zero em n+2 números distintos x , x0 , x1 , ... , xn . Pelo Teorema

generalizado de Rolle, existe um número (x) em ]a , b[ para o qual g ( n+1) ( ( x)) = 0 .

Por fim, ...

Exemplo 2: Suponha que uma tabela deve ser preparada para a função f(x) = ex , para x  0 , 1 .

Vamos supor que o número de casas decimais para cada aproximação seja d  8 e que a diferença entre
valores adjacentes de x é h. Qual deve ser o valor de h para que a interpolação linear (isto é, o
polinómio de Lagrange de grau 1) produza um erro absoluto máximo de 10 −6 ?

Sejam x0 , x1 , ... os números em que f é calculada, seja x  0 , 1 e suponhamos que j satisfaz a relação

x j  x  x j +1 . Da fórmula do Teorema 3.3 resulta que o erro na interpolação linear é

f ( 2) ( ( x) ) f ( 2) ( ( x) )
f ( x) − P( x) =  ( x − x j )( x − x j +1 ) =  x − x j  x − x j +1 .
2! 2

Uma vez que a diferença é h, daqui resulta que x j = jh , x j +1 = ( j + 1)h e

f ( 2) ( ( x) )
f ( x) − P( x)   (x − jh)(x − ( j + 1)h ) .
2

Desta maneira,

max e  max ( x − jh )( x − ( j + 1)h )  e  max ( x − jh )( x − ( j + 1)h ) .


1 1
f ( x) − P( x) 
2  0 , 1 x j  x x j +1 2 x j  x  x j +1
62
Considerando g ( x) = (x − jh)(x − ( j + 1)h ), para jh  x  ( j + 1)h , e usando o Teorema do Valor
Extremo, encontramos que

h2
max (x − jh )( x − ( j + 1)h ) = max g ( x) = g (( j + )h ) =
1
2 .
x j  x  x j +1 x j  x  x j +1 4

Consequentemente, o erro na interpolação linear está limitado por

eh 2
f ( x) − P( x) 
8

e é suficiente para h ser escolhido de maneira que

eh 2
 10 −6 , o que implica que h  1,72 10−3 .
8

1− 0
Uma vez que n = deve ser um inteiro, uma escolha lógica para o tamanho da diferença é h=
h
0,001.

O exemplo seguinte ilustra uma interpolação para uma situação em que a porção do erro da fórmula do
Teorema 3.3 não pode ser utilizada.

Exemplo 3: a tabela 3.2 lista valores de uma função em vários pontos. As aproximações de f(1,5)
obtidas por vários polinómios de Lagrange serão comparados.

Tabela 3.2
x 1,0 1,3 1,6 1,9 2,2
f(x) 0,7651977 0,6200860 0,4554022 0,2818186 0,1103623
Uma vez que 1,5 está entre 1,3 e 1,6, o polinómio linear mais apropriado usa x0 = 1,3 e x1 = 1,6 . O

valor do polinómio interpolador em 1,5 é

1,5 − 1,6 1,5 − 1,3


P1 (1,5) =  0,6200860+  0,4554022 = 0,5102968.
1,3 − 1,6 1,6 − 1,3

Dois polinómios de grau 2 podem ser razoavelmente usados, um com os pontos de x0 = 1,3 , x1 = 1,6 e
(1,5 − 1,6)(1,5 − 1,9)
x 2 = 1,9 , que dá P2 (1,5) =  0,6200860+
(1,3 − 1,6)(1,3 − 1,9)

(1,5 − 1,3)(1,5 − 1,9) (1,5 − 1,3)(1,5 − 1,6)


+  0,4554022+  0,2818186 = 0,5112857
(1,6 − 1,3)(1,6 − 1,9) (1,9 − 1,3)(1,9 − 1,6)

63
e outro com os pontos de x0 = 1,0 , x1 = 1,3 e x2 = 1,6 , que dá Pˆ2 (1,5) = 0,5124715.

No caso do grau 3 há também 2 escolhas razoáveis para o polinómio. Uma é com os pontos de x0 = 1,3

, x1 = 1,6 , x 2 = 1,9 e x3 = 2,2 , que dá P3 (1,5) = 0,5118302. Outra é com os pontos de x0 = 1,0 ,

x1 = 1,3 , x2 = 1,6 e x3 = 1,9 , que dá Pˆ3 (1,5) = 0,5118127 .

O polinómio de Lagrange do 4º grau usa todos os pontos da tabela e produz P4 (1,5) = 0,5118200 como
aproximação.

Uma vez que todos os resultados P3 (1,5) , Pˆ3 (1,5) e P4 (1,5) concordam em 4 unidades decimais, isto é,

em 2 10−5 , esperamos este grau de exactidão para esta aproximação. Também esperamos que P4 (1,5)
seja a melhor aproximação, uma vez que ela usa o maior número dos dados.

A função que estamos aproximando é a função de Bessel do primeiro tipo de ordem zero, cujo valor em
1,5 é conhecido como sendo 0,5118277. Portanto, as verdadeiras exactidões das aproximações são as
seguintes:

P1 (1,5) − f (1,5)  1,53  10 −3 ,

P2 (1,5) − f (1,5)  5,42  10 −4 ,

Pˆ2 (1,5) − f (1,5)  6,44  10 −4 ,

P3 (1,5) − f (1,5)  2,50  10 −6 ,

Pˆ3 (1,5) − f (1,5)  1,50  10−5 ,

P4 (1,5) − f (1,5)  7,70  10 −6 .

Embora P3 (1,5) seja a aproximação mais exacta, se não tivéssemos conhecimento do valor exacto de

f(1,5) iriamos aceitar P4 (1,5) como sendo a melhor aproximação por incluir o maior número de pontos
da função. O termo de erro de Lagrange deduzido no Teorema 3.3 não pode ser aplicado neste caso,
por não se conhecer a quarta derivada de f, infelizmente. 

Uma dificuldade prática da interpolação de Lagrange é que, uma vez que o termo do erro é difícil de
aplicar, o grau do polinómio necessário para a exactidão desejada geralmente é desconhecido, até que
os cálculos já tenham terminado. A prática usual é calcular os resultados produzidos pelos vários

64
polinómios até que o acordo adequado seja obtido, como foi feito no exemplo anterior. Porém, o
trabalho feito nos cálculos da aproximação pelo segundo polinómio não diminui o trabalho necessário
para calcular a terceira aproximação, tão pouco a quarta aproximação é mais fácil de se obter depois
que a terceira é conhecida, e assim por diante. Vamos agora deduzir esses polinómios de aproximação
de uma maneira que usa os cálculos anteriores de forma vantajosa.

Definição 3.4: Seja f uma função definida em x0 , x1 , x2 , , xn e suponhamos que m1 , m2 , , mk são

k inteiros distintos, com 0  mi  n para qualquer i. O polinómio de Lagrange que coincide com f(x)

nos k pontos de xm1 , xm2 , , xmk denota-se Pm1 , m2 , , mk ( x) . 

Exemplo 4: Se x0 = 1 , x1 = 2 , x 2 = 3 , x3 = 4 e x4 = 6 , com f ( x) = e x , então P1, 2, 4 ( x) é o polinómio

que coincide com f(x) em x1 = 2 , x 2 = 3 e x4 = 6 , isto é,

( x − 3)( x − 6) 2 ( x − 1)( x − 6) 3 ( x − 2)( x − 3) 6


P1, 2, 4 ( x) = e + e + e . 
(2 − 3)(2 − 6) (3 − 2)(3 − 6) (6 − 2)(6 − 3)

O resultado seguinte descreve um método de geração recursiva de aproximações por polinómios de


Lagrange.

Teorema 3.5: Seja f uma função definida nos pontos de x0 , x1 , x2 , , xk e sejam xj e xi dois números

distintos deste conjunto. Então,

( x − x j ) P0 ,1,, j −1, j +1,, k ( x) − ( x − xi ) P0 ,1,, i −1, i +1,, k ( x)


P( x) = (3.4)
xi − x j

descreve o polinómio de Lagrange de ordem k, que interpola f nos k+1 pontos de x0 , x1 , x2 , , xk .

Prova (...) 

Do teorema 3.5 resulta que os polinómios interpoladores podem ser gerados recursivamente. Por
exemplo, eles podem ser gerados da maneira mostrada na tabela 3.3, onde cada linha é completada
antes da seguinte começar.

65
Tabela 3.3
x0 P0 = Q0 , 0
x1 P1 = Q1, 0 P0 ,1 = Q1,1
x2 P2 = Q2 , 0 P1, 2 = Q2 ,1 P0 ,1, 2 = Q2 , 2
x3 P3 = Q3 , 0 P2 , 3 = Q3 ,1 P1, 2 , 3 = Q3 , 2 P0 ,1, 2 , 3 = Q3 , 3
x4 P4 = Q4 , 0 P3 , 4 = Q4 ,1 P2 , 3 , 4 = Q4 , 2 P1, 2 , 3 , 4 = Q4 , 3 P0 ,1, 2 , 3 , 4 = Q4 , 4

Este procedimento chama-se método de Neville. A notação P usada na tabela 3.3 é pesada por causa do
número de índices usados para representar os valores. Note, entretanto, que enquanto se constrói essa
listagem toda, apenas dois índices são necessários. Continuando a tabela para baixo, isso corresponde
ao uso de pontos consecutivos xi com valores de i cada vez maiores e continuando para direita isso
corresponde ao incremento de grau do polinómio interpolador. Uma vez que os pontos aparecem
consecutivamente em cada valor, precisamos de descrever apenas o ponto de partida e o número de
pontos adicionais usados para construir a aproximação.

Para evitar a multiplicidade dos índices, usa-se Qi,j(x), com 0  j  i, para denotar o polinómio
interpolador de grau j nos j+1 números xi − j , xi − j +1 , , xi −1 , xi , isto é, Qi , j = Pi − j , i − j +1,, i −1, i . Usando

esta notação para o método de Neville resultam as notações de Q contantes na tabela 3.3.

Exemplo 5: Valores de diferentes polinómios interpoladores em x = 1,5 foram gerados no exemplo 3


usando-se dados mostrados nas duas primeiras colunas da tabela 3.4. Neste exemplo, aproximamos
f(1,5) usando o resultado do Teorema 3.5. Se x0 = 1,0 , x1 = 0,3 , x2 = 1,6 , x3 = 1,9 e x 4 = 2,2 , então

Q0 , 0 = f (1,0) , Q1, 0 = f (1,3) , Q2 , 0 = f (1,6) , Q3 , 0 = f (1,9) e Q4 , 0 = f (2,2) . Estes são os cinco

polinómios de grau zero (constantes) que aproximam f(1,5).

Calculando-se a aproximação do primeiro grau obtém-se

( x − x0 )Q1, 0 − ( x − x1 )Q0 , 0 (1,5 − 1,0)Q1, 0 − (1,5 − 1,3)Q0 , 0


Q1,1 (1,5) = = =
x1 − x0 1,3 − 1,0
0,5(0,6200860) − 0,2(0,7651977)
= = 0,5233449.
0,3

(1,5 − 1,3)(0,4554022) − (1,5 − 1,6)(0,600860)


Analogamente, Q2 , 1 (1,5) = = 0,5102968, Q3 , 1 (1,5) = 0,5132634 e
1,6 − 1,3

Q4 , 1 (1,5) = 0,5104270.

Espera-se que a melhor aproximação linear seja Q2 , 1 (1,5) = 0,5102968, uma vez que 1,5 está entre

x1 = 0,3 e x 2 = 1,6 .

66
De forma semelhante, aproximações usando polinómios de graus mais elevados são dadas por

(1,5 − 1,0)(0,5102968) − (1,5 − 1,6)(0,5233449)


Q2 , 2 (1,5) = = 0,5124715, Q3 , 2 (1,5) = 0,5112857 e
1,6 − 1,0

Q4 , 2 (1,5) = 0,5137361.

Aproximações de maior grau são geradas de maneira similar e são mostradas na tabela 3.4 a seguir.

Tabela 3.4
1,0 0,7651977
1,3 0,6200860 0,5233449
1,6 0,4554022 0,5102968 0,5124715
1,9 0,2818186 0,5132634 0,5112857 0,5118127
2,2 0,1103623 0,5104270 0,5137361 0,5118302 0,5118200
2,5 -0,0483838 0,4807699 0,5301984 0,5119070 0,5118430 0,5118277
Se a última aproximação, Q4 , 4 (1,5) = 0,5118200não suficientemente correcta, pode ser escolhido um

outro ponto x5 e acrescentada uma nova linha à tabela.

x5 Q5 , 0 Q5 ,1 Q5 , 2 Q5 , 3 Q5 , 4 Q5 , 5 .

Então, Q4 , 4 , Q5 , 4 e Q5 , 5 podem ser comparados para determinar a exactidão seguinte.

No nosso exemplo, a função é a de Bessel de primeiro tipo de grau zero, cujo valor em 2,5 é -
0,0483838, e a nova linha de aproximações de f(1,5) é

2,5 -00483838 0,4807699 0,5301984 0,5119070 0,5118430 0,5118277.

O último resultado, 0,5118277 está exacto até sete casas decimais.

Exemplo 6: A tabela 3.5 lista valores de f(x) = ln x, exactos até as casas decimais dadas.

Tabela 3.5
i xi ln xi
0 2,0 0,6931
1 2,2 0,7885
2 2,3 0,8329
Vamos usar o método de Neville para aproximar f(2,1) = ln 2,1. Completando a tabela obtém-se os
valores da tabela 3.6.
Tabela 3.6
i xi x − xi Qi 0 Qi1 Qi 2
0 2,0 0,1 0,6931
1 2,2 -0,1 0,7885 0,7410
2 2,3 -0,2 0,8329 0,7441 0,7420

67
Assim, P2 (2,1) = Q22 = 0,7420 . Uma vez que f(2,1) = ln 2,1 = 0,7419, com exactidão de 4 casas
1
decimais, o erro absoluto é f (2,1) − P2 (2,1) = 0,7419 − 0,7420 = 10 −4 . Porém, f ( x) = ,
x
1 2
f ( x) = − 2
e f ( x) = 3 . Assim, a fórmula (3.3) do erro de Lagrange dá um limite de erro
x x

f ( ) 1
f (2,1) − P2 (2,1) = ( x − x0 )( x − x1 )( x − x2 ) = (0,1)(−0,1)(−0,2)  8, 3  10 −5 .
3! 3 3

Note que o erro efectivo, 10-4, excede o erro 8,3 10−5 . Esta aparente contradição é uma consequência
do cálculo com um número finito de dígitos. Utilizamos aproximações de 4 dígitos e a fórmula (3.3) de
erro de Lagrange assume uma aritmética de número infinito de dígitos. Isto fez com que o erro efectivo
excedesse a estimativa teórica do erro. 

O algoritmo 3.1 constrói os valores, por linhas, no método de Neville.

Algoritmo 3.1 (de Interpolação iterada de Neville) : (Consulte Burden, p. 118)

O algoritmo pode ser modificado para permitir a adição de novos pontos. Por exemplo, a desigualdade
Qi , i − Qi −1, i −1   pode ser usada como critério de truncatura, onde  é uma tolerância de erro

prescrita. Se a desigualdade for verdadeira, Qi , i é uma aproximação razoável de f(x). Se a desigualdade

for falsa, acrescenta-se um novo ponto interpolador xi +1 .

Exercícios (3.1):
1. Para uma dada função f(x), sejam x0 = 0 , x1 = 0.6 e x 2 = 0.9 . Crie polinómios interpoladores de
grau máximo 2, para aproximar f(0.45) e determine o erro daí resultante.

a) f ( x) = cos x b) f ( x) = 1 + x c) f ( x) = ln( x + 1) d) f ( x) = tan x

2. Use o Teorema 3.3 para achar um limite de erro para as aproximações no exercício 1.

3. Use os apropriados polinómios interpoladores de Lagrange de graus um, dois e três para aproximar
cada um dos seguintes casos:
a) f (8.4) , se f (8.1) = 16.94410 , f (8.3) = 17.56492 , f (8.5) = 18.19056 , e
f (8.7) = 18.82091
b) f (− 13 ) , se
f (−0.75) = −0.07181250, f (−0.5) = −0.02475000, f (−0.25) = −0.33493750, e
f (0) = 1.10100000.

68
c) f (0.25) , se f (0.1) = 0.62049958, f (0.2) = −0.28398668, f (0.3) = 0.00660095 e
f (0.4) = 0.24842440.
d) f (0.9) , se f (0.6) = −0.17694460, f (0.7) = 0.01375227, f (0.8) = 0.22363362 e
f (1.0) = 0.65809197.
4. Use o método de Neville para obter as aproximações do exercício 3.

5. Use o método de Neville para aproximar 3 com a função f ( x) = 3 x e os valores


x0 = −2 , x1 = −1, x2 = 0 , x3 = 1 e x4 = 2 .

6. Use o método de Neville para aproximar 3 com a função f ( x) = x e os valores


x0 = 0 , x1 = 1, x2 = 2 , x3 = 4 e x 4 = 5 . Compare a exactidão com a obtida no exercício 5.
7. Os dados do exercício 3 foram gerados com ajuda das seguintes funções. Use a fórmula do erro
para achar um limite do erro e compare-o com o erro obtido nos casos em que n = 1 e n = 2.
a) f ( x) = x ln x .
b) f ( x) = x 3 + 4.001x 2 + 4.002x + 1.101.
c) f ( x) = x cos x − 2x 2 + 3x − 1 .
d) f ( x) = sin(e x − 2) .

8. Sejam f ( x) = x − x 2 e P2 ( x ) o polinómio interpolador nos pontos x0 = 0 e x1 e x2 = 1. Ache o


maior valor de x1 e ]0 , 1[ para o qual f(0.5) – P2(0.5) = –0.25.
9. Seja P3 ( x) o polinómio interpolador nos pontos (0 , 0), (0.5 , y), (1 , 3) e (2 , 2). Ache o valor de y,
sabendo que o coeficiente de x 3 em P3 ( x) é 6.
10. Use o polinómio interpolador de Lagrange de grau três ou inferior e a aritmética de truncatura a 4
dígitos para aproximar cos 0.750 servindo-se dos seguintes valores
cos 0.698 = 0.7661, cos 0.733 = 0.7432, cos 0.768 = 0.7193 e cos 0.803 = 0.6946 . Ache um
limite de erro para esta aproximação. O valor exacto de cos 0.750 é 0.7317 (até quatro casas
decimais). Explique a discrepância entre o erro real e o limite de erro.

3.2 Diferenças Divididas

Interpolação iterada foi usada na secção anterior para gerar sucessivamente aproximações polinomiais
de maior grau num ponto específico. Os métodos de diferenças divididas introduzidos nesta secção são
usados para gerar sucessivamente os próprios polinómios. O nosso tratamento dos métodos de
diferenças divididas serão breves, uma vez que os resultados nesta secção não serão usados
extensivamente no material subsequente. Textos mais velhos de análise numérica têm tratamento
extensivo dos métodos de diferenças divididas. Se um tratamento mais compreensivo for necessário, o
livro de Hildebrand [Hild] é uma referência particularmente boa.
69
Suponhamos que Pn (x) é o n-ésimo polinómio de Lagrange que coincide com a função f nos pontos

distintos de x0 ,, xn . As diferenças divididas de f com relação a x0 ,, xn são usadas para exprimir

Pn (x) na forma

Pn ( x) = a0 + a1 ( x − x0 ) + a2 ( x − x0 )(x − x1 ) +  + an ( x − x0 )(x − x1 )( x − xn−1 ) , (3.5)

para constantes apropriadas a0 ,, an .

Para determinar a primeira destas constantes, a 0 , note-se que se Pn (x) é escrito na forma da Eq. (3.5),

então o valor de Pn (x) em x0 deixa apenas o termo da constante a 0 , isto é,

a0 = Pn ( x0 ) = f ( x0 ) .

De forma semelhante, para o valor de Pn (x) em x1 , os únicos termos não nulos de Pn ( x1 ) são as

constantes e os termos lineares

f ( x0 ) + a1 ( x − x0 ) = Pn ( x1 ) = f ( x1 ) .

f ( x1 ) − f ( x0 )
Assim, a1 = . (3.6)
x1 − x0

Agora introduzimos a notação de diferenças divididas, que está relacionada com a notação 2 de Aitken
usada na secção 2.5. A diferença dividida zero da função f em relação a xi , denotada f [ xi ] , é

simplesmente o valor de f em x1 :

f [ xi ] = f ( xi ) . (3.7)

As restantes diferenças divididas são definidas indutivamente.

A primeira diferença dividida de f em relação a xi e xi +1 é denotada f [ xi , xi +1 ] e definida como

f [ xi +1 ] − f [ xi ]
f [ xi , xi +1 ] = . (3.8)
xi +1 − xi

A segunda diferença dividida, f [ xi , xi +1 , xi +2 ] está definida como

f [ xi +1 , xi + 2 ] − f [ xi , xi +1 ]
f [ xi , xi +1 , xi + 2 ] = .
xi + 2 − xi

70
De forma semelhante, depois da (k – 1)-ésimas diferenças divididas, f [ xi , xi +1 , xi +2 ,, xi +k −1 ] e

f [ xi +1 , xi +2 , , xi +k −1 , xi +k ] , já foram determinadas, a k-ésima diferença dividida relativamente a

xi , xi +1 , xi +2 ,, xi +k é dada por

f [ xi +1 , xi + 2 ,, xi + k ] − f [ xi , xi +1 ,, xi + k −1 ]
f [ xi , xi +1 ,, xi + k −1 , xi + k ] = . (3.9)
xi + k − xi

Com esta notação, a Eq. (3.6) pode ser ré expressa como a1 = f [ x0 , x1 ] e o polinómio interpolador da

Eq. (3.5) como

Pn ( x) = f [ x0 ] + f [ x0 , x1 ]( x − x0 ) + a2 ( x − x0 )(x − x1 ) +  + an ( x − x0 )(x − x1 )( x − xn−1 ) .

Como se pode esperar do cálculo de a 0 e a1 , as constantes exigidas para cada k = 0 , 1 , ... , n, são

ak = f [ x0 , x1 , x2 ,, xk ] . Assim, Pn (x) pode ser reescrito como (veja [Hild, pp. 43 – 47])

n
Pn ( x) = f [ x0 ] +  f [ x0 , x1 , , x k ]( x − x0 )  ( x − x n −1 ) . (3.10)
k =1

O valor de f [ x0 , x1 ,, xk ] é independente da ordem dos números x0 , x1 ,, xk , como é mostrado no

exercício 17. Esta equação é conhecida como Fórmula Interpoladora de Diferenças Divididas de
Newton. A geração das diferenças divididas está exposta na tabela 3.7. Duas quartas e uma quinta
diferenças podiam ser determinadas ainda a partir destes dados.

71
Tabela 3.7
x f (x) Primeiras diferenças divididas Segundas diferenças divididas Terceiras diferenças divididas .....
x0 f [ x0 ]
f [ x1 ] − f [ x0 ]
f [ x0 , x1 ] =
x1 f [ x1 ] x1 − x0 f [ x1 , x2 ] − f [ x0 , x1 ]
f [ x0 , x1 , x2 ] = f [ x1 , x2 , x3 ] − f [ x0 , x1 , x2 ]
f [ x2 ] − f [ x1 ] x 2 − x0 f [ x0 , x1 , x2 , x3 ] =
f [ x1 , x2 ] = x3 − x 0
x2 f [ x2 ] x2 − x1 f [ x2 , x3 ] − f [ x1 , x2 ]
f [ x1 , x2 , x3 ] = f [ x2 , x3 , x4 ] − f [ x1 , x2 , x3 ]
f [ x3 ] − f [ x 2 ] x3 − x1 f [ x1 , x2 , x3 , x4 ] =
f [ x 2 , x3 ] = x4 − x1
x3 f [ x3 ] x3 − x 2 f [ x3 , x 4 ] − f [ x 2 , x3 ]
f [ x 2 , x3 , x 4 ] = f [ x3 , x 4 , x 5 ] − f [ x 2 , x3 , x 4 ]
f [ x 4 ] − f [ x3 ] x4 − x2 f [ x 2 , x 3 , x 4 , x5 ] =
f [ x3 , x 4 ] = x5 − x 2
x4 f [ x4 ] x 4 − x3 f [ x 4 , x5 ] − f [ x3 , x 4 ]
f [ x3 , x 4 , x5 ] =
f [ x5 ] − f [ x 4 ] x5 − x3
f [ x 4 , x5 ] =
x5 f [ x5 ] x5 − x 4
A fórmula interpoladora de diferenças divididas de Newton pode ser implementada usando-se o algoritmo 3.2. A forma do resultado pode
ser modificada para produzir todas as diferenças divididas, como foi feito no Exemplo 1.
Algoritmo 3.2 (Fórmula Interpoladora de Diferenças Divididas de Newton)
Para obter os coeficientes das diferenças divididas do polinómio interpolador P nos n+1 pontos distintos de x0 ,, xn para uma função f:

INPUT Números x0 ,, xn ; valores f ( x0 ) , f ( x1 ) , , f ( xn ) como F0 , 0 , F1, 0 , ..., Fn , 0 .

OUTPUT Os números F0 , 0 , F1,1 , ..., Fn , n , onde


n i −1
P( x) =  Fi ,i  ( x − x j )
i =0 j =0

Passo 1 Para i = 1, 2, ..., n


Para j = 1, 2, ..., i.
Fi , j −1 − Fi −1, j −1
Faça Fi , j =
xi − xi − j
Passo 2 OUTPUT ( F0,0 , F1,1 , , Fn,n ) ; ( Fi ,i is f [ x0 , x1 , , xi ) );

STOP.

72
Exemplo 1: No exemplo 3 da secção 3.1 foram usados vários polinómios interpoladores para
aproximar f(1,5), com base nos dados das três primeiras colunas da tabela 3.8. Os valores restantes da
referida tabela contêm diferenças divididas calculadas com ajuda do algoritmo 3.2.

Os coeficientes da forma da diferença dividida progressivamente de Newton no polinómio interpolador


estão na diagonal da tabela. O polinómio em causa é

P4 ( x) = 0,7651877− 0,4837057( x − 1,0) − 0,1087339( x − 1,0)( x − 1,3) +


+ 0,0657784( x − 1,0)(x − 1,3)(x − 1,6) + 0,0018251( x − 1,0)(x − 1,3)(x − 1,6)(x − 1,9) .

Note que o valor de P4 (1,5) = 0,5118200 , que coincide com o resultado obtido no exemplo 3 da
secção 3.1, como deve ser, dado os polinómios serem os mesmos. 

Tabela 3.8
i xi f [ xi ] f [ xi −1 , xi ] f [ xi −2 , xi −1 , xi ] f [ xi −3 ,, xi ] f [ xi −4 ,, xi ]
0 1,0 0,7651977
-0,4837057
1 1,3 0,6200860 -0,1087339
-0,5489460 0,0658784
2 1,6 0,4554022 -0,0494433 0,0018251
-0,5786120 0,0680685
3 1,9 0,2818186 -0,0118183
-0,5715210
4 2,2 0,1103623
O Teorema do Valor Médio aplicado na Eq. (3.8) quando i = 0,

f ( x1 ) − f ( x0 )
f [ x0 , x1 ] = ,
x1 − x0

implica que quando f  existe, f [ x0 , x1 ] = f ( ) para algum  entre x0 e x1. O seguinte Teorema

generaliza este resultado.

Teorema 3.6: Suponhamos que f  C n [a , b] e que x0 ,, xn são números distintos em [a , b] . Então,

um número  existe em (a , b) , tal que

f ( n ) ( )
f [ x 0 , , x n ] = . 
n!

Prova (...)

A fórmula interpoladora de diferenças divididas pode ser expressa duma forma simplificada, quando
x0 ,, xn são arranjados de forma consecutiva e igualmente espaçados. Neste caso, introduzimos a

notação h = xi +1 − xi , para cada i = 0, 1, ..., n – 1 e assumimos x = x0 + sh . Então, a diferença x − xi

pode ser escrita como x − xi = (s − i)h . Assim, a Eq. (3.10) torna-se

73
Pn ( x) = Pn ( x0 + sh) = f [ x0 ] + shf [ x0 , x1 ] + s( s − 1)h 2 f [ x0 , x1 , x2 ] +
n
+  + s( s − 1)  ( s − n + 1)h n f [ x0 , x1 ,, x n ] =  s( s − 1) ( s − k + 1)h k f [ x0 , x1 ,, x k ].
k =0

 s  s ( s − 1)  ( s − k + 1)
Usando a notação dos coeficientes binomiais,   = , podemos expressar Pn (x) de
k  k!
forma compacta como

n
s
Pn ( x) = Pn ( x0 + sh) = f [ x0 ] +   k!h k f [ x0 , x1 ,, x k ] . (3.11)
k =0  k 

Esta fórmula chama-se Fórmula de Diferença Dividida Progressivamente de Newton. Outra forma,
chamada Fórmula de Diferença Progressiva de Newton, é construída fazendo-se uso da notação de
diferença progressiva  introduzida no método de 2 de Aitken. Com esta notação,

f ( x1 ) − f ( x0 ) 1 1  f ( x1 ) − f ( x0 )  1
f [ x0 , x1 ] = = f ( x0 ) , f [ x0 , x1 , x 2 ] =   = 2 2 f ( x0 ) , e, em
x1 − x0 h 2h  h  2h
1 k
geral, f [ x0 ,, xk ] =  f ( x0 ) . Então, a Eq. (3.11) tem a seguinte fórmula:
k!h k

Fórmula de Diferença Dividida de Newton


n
s
Pn ( x) = f [ x0 ] +   k f ( x0 ) . (3.12)
k =0  k 

Se os pontos interpoladores estão reordenados como xn ,, x0 , resulta uma fórmula semelhante à da

Eq. (3.10):

Pn ( x) = f [ xn ] + f [ xn , xn−1 ]( x − xn ) + f [ xn , xn−1 , xn−2 ]( x − xn )(x − xn−1 ) +  + f [ xn ,, x0 ]( x − xn )( x − x1 )


Se os pontos estão igualmente espaçados, com x = xn + sh e x = xi + (s + n − 1)h , então,

Pn ( x) = Pn ( xn + sh) = f [ xn ] + shf [ xn , xn−1 ] + s(s + 1)h 2 f [ xn , xn−1 , xn−2 ] +  + s(s + 1) ( s − n + 1)h n f [ xn ,, x0 ]

Esta fórmula chama-se Fórmula de Diferença Dividida Regressivamente de Newton. É usada para
derivar uma fórmula normalmente mais aplicada, conhecida como a Fórmula de Diferença
Regressiva de Newton. Para discutir a fórmula, precisamos da seguinte definição:

Definição 3.7

74
Dada a sequência p n n =0 , define-se a diferença regressiva pn como pn = pn − pn−1 , para

n  1.

Potências mais altas são definidas recursivamente por  k pn = ( k −1 p n ) , para k  2. 

Desta definição resulta que

1 1 1
f [ x n , x n −1 ] = f ( x n ) , f [ x n , x n −1 , x n − 2 ] = 2  2 f ( x n ) e, em geral, f [ x n , x n −1 , , x n − k ] =  k f ( xn ) .
h 2h k! h k

Consequentemente,

s( s + 1) 2 s( s + 1)  ( s + n − 1) n
Pn ( x) = f [ x n ] + sf ( x n ) +  f ( xn ) +  +  f ( xn ) .
2 n!

Se usamos a notação binomial para exprimir todos os valores reais de s através d da fórmula

 − s  − s(− s − 1)  (− s − k + 1) s( s + 1)  ( s + k − 1)
  = = (−1) k   , então
 k  k! k!

− s − s − s
Pn ( x) = f [ x n ] + (−1) 1  f ( x n ) + (−1) 2   2 f ( x n ) +  + (−1) n   n f ( x n ) , do qual resulta a seguinte
 1   2  n 
fórmula:

Fórmula de Diferenças Divididas de Newton


n
− s
Pn ( x) = f [ x n ] +  (−1) k   k f ( x n ) (3.13)
k =1  k 
Exemplo 2 A tabela 3.9 de diferenças divididas corresponde aos dados no exemplo 1
Tabela 3.9
Primeiras Segundas Terceiras Quarta
Diferenças Diferenças Diferenças Diferença
Divididas Divididas Divididas Dividida
1,0 0,7651977
-0,4837057
1,3 0,6200860 -0,1087339
-0,5489460 0,0658784
1,6 0,4554022 -0,0494433 0,0018251
-0,5786120 0,0680685
1,9 0,2818186 0,0118183
-0,5715210
2,2 0,1103623
Só um polinómio interpolador de grau 4 no máximo usa estes cinco pontos, mas vamos organizar os
dados para obter as melhores aproximações interpoladas de graus 1, 2 e 3. Isso vai dar-nos um sentido
de exactidão da aproximação do quarto grau para o dado valor de x. Se uma aproximação de f(1,1) for
exigida, a escolha da ordem mais razoável dos pontos deve ser x0 = 1,0, x1 = 1,3, x2 = 1,6, x3 = 1,9 e x4
= 2,2, uma vez que esta escolha faz o uso mais madrugador dos dados mais próximos de x = 1,1 e faz o

75
uso da quarta diferença dividida. Isto implica que h = 0,3 e s = 13 , e, desta maneira, a fórmula de

diferenças divididas progressivamente é usada com as diferenças sublinhadas a cheio na tabela 3.9:

1 1 2
P4 (1,1) = P4 (1,0 + 13 (0,3)) = 0,7651977 + (0,3)(−0,4837057) +  − (0,3) 2 (−0,1087339) +
3 3 3
1  2  5  1  2  5  8 
+  −  − (0,3) 3 (0,0658784) +  −  −  − (0,3) 4 (0,0018251) = 0,7196480.
3  3  3  3  3  3  3 

Para aproximar um valor quando x está mais próximo do fim da tabela, por exemplo, x = 2,0, também
quereremos fazer a escolha da ordem que faz o uso mais madrugador dos pontos mais próximos de x.
Isto requer o uso da fórmula de diferenças divididas regressivamente de Newton com s = − 23 e as

diferenças divididas da tabela 3.9 sublinhadas a tracejado:

P4 (2,0) = P4 (2,2 − 23 (0,3) ) = 0,0,1103623− (0,3)(−0,5715210) −  (0,3) 2 (0,0118183) +


2 2 1
3 3 3 
2 1 4 2 1 4 7
−   (0,3) 3 (0,0680685) −    (0,3) 4 (0,0018251) = 0,2238754.
3 3 3 3 3 3 3

As fórmulas de Newton não são apropriadas para aproximar f(x), quando x se encontra no centro da
tabela, uma vez que o uso do método regressivo ou progressivo de maneira a que a diferença de maior
ordem esteja envolvida não irá permitir que x0 esteja perto de x. Existem outras fórmulas de diferenças
divididas para estes casos, cada uma das quais com suas situações em que pode ser usada de forma
mais vantajosa. Esses métodos são conhecidos como fórmulas de diferenças centradas. Há muitos
desses métodos, mas vamos apresentar apenas um, o método de Stirling, e, de novo, aconselhar aos
leitores a consultar [Hild] para uma apresentação mais completa.

Para as fórmulas de diferenças divididas, escolhemos x0 próximo do ponto a ser aproximado e


etiquetamos os pontos abaixo de x0 como x1, x2, ... e os acima como x-1, x-2, .... Com esta convenção, a
fórmula de Stirling é dada por

Pn ( x) = P2 m +1 ( x) = f [ x0 ] +
sh
( f [ x−1 , x0 ] + f [ x0 , x1 ]) + s 2 h 2 f [ x−1 , x0 , x1 ] +
2
s( s 2 − 1)h 3
+ ( f [ x−2 , x−1 , x0 , x1 ] + f [ x−1 , x0 , x1 , x2 ]) +  +
2 (3.14)
+ s 2 ( s 2 − 1)(s 2 − 4)  ( s 2 − (m − 1) 2 ) h 2 m f [ x − m ,, x m ] +
s( s 2 − 1)  ( s 2 − m 2 ) h 2 m +1
+ ( f [ x−m−1 ,, xm ] + f [ x−m ,, xm+1 ]),
2

76
Se n = 2m+1 é ímpar. Se n = 2m é par, usamos a mesma fórmula, mas eliminando a última linha. Os
valores usados nesta fórmula estão sublinhados na tabela 3.10.

Exemplo 3: Considere a tabela de dados que foram usados nos exemplos anteriores. Para usar a
fórmula de Stirling para aproximar f(1,5) com x0 = 1,6 usamos os valores sublinhados na tabela de
diferenças 3.11.

77
Tabela 3.7

x f (x) Primeiras diferenças divididas Segundas diferenças divididas Terceiras diferenças divididas Quartas diferenças divididas

x−2 f [ x−2 ]
f [ x−2 , x−1 ]

x −1 f [ x−1 ] f [ x−2 , x−1 , x0 ]


f [ x−1 , x0 ] f [ x−2 , x−1 , x0 , x1 ]

x0 f [ x0 ] f [ x−1 , x0 , x1 ] f [ x−2 , x−1 , x0 , x1 , x2 ]


f [ x0 , x1 ] f [ x−1 , x0 , x1 , x2 ]

x1 f [ x1 ] f [ x0 , x1 , x2 ]
f [ x1 , x 2 ]

x2 f [ x2 ]

78
Tabela 3.11
Primeiras Segundas Terceiras Quarta
Diferenças Diferenças Diferenças Diferença
Divididas Divididas Divididas Dividida
1,0 0,7651977
-0,4837057
1,3 0,6200860 -0,1087339
-0,5489460 0,0658784
1,6 0,4554022 -0,0494433 0,0018251
-0,5786120 0,0680685
1,9 0,2818186 0,0118183
-0,5715210
2,2 0,1103623
Aplicando a fórmula, com h = 0,3, x0 = 1,6 e s = 13 , tem-se:

  1   1  0,3 
f (1,5)  P4 1,6 +  − (0,3  = 0,4554022+  −  ((−0,5489460) + (−0,5786120) ) +
  3   3  2 
1  1   1  
2 2
 1
+  −  (0,3) (−0,0494433) +  −   −  − 1(0,3) 3 (0,0658784+ 0,0680685) = 0,5118200
2

 3 2  3   3  

Exercícios (3.2):
1. Use a fórmula interpoladora de diferenças divididas ou o algoritmo 3.2 para criar polinómios
interpoladores de graus um, dois e três, para os seguintes dados e aproxime os valores especificados
com ajuda de cada um desses polinómios.
a) f (8.4) , se f (8.1) = 16.94410 , f (8.3) = 17.56492 , f (8.6) = 18.50515, e
f (8.7) = 18.82091
b) f (0.9) , se f (0.6) = −0.17694460, f (0.7) = 0.01375227, f (0.8) = 0.22363362 e
f (1.0) = 0.65809197.
2. Use a fórmula de diferenças progressivas para criar polinómios de graus um, dois e três, para os
seguintes dados e aproxime os valores especificados com ajuda de cada um desses polinómios.
a) f (− 13 ) , se f (−0.75) = −0.07181250, f (−0.5) = −0.02475000, f (−0.25) = −0.33493750 e
f (0) = 1.10100000.
b) f (0.25) , se f (0.1) = 0.62049958, f (0.2) = −0.28398668, f (0.3) = 0.00660095 e
f (0.4) = 0.24842440.
3. Use a fórmula de diferenças progressivas para criar polinómios de graus um, dois e três, para os
seguintes dados e aproxime os valores especificados com ajuda de cada um desses polinómios.
a) f (− 13 ) , se f (−0.75) = −0.07181250, f (−0.5) = −0.02475000, f (−0.25) = −0.33493750 e
f (0) = 1.10100000.
b) f (0.25) , se f (0.1) = 0.62049958, f (0.2) = −0.28398668, f (0.3) = 0.00660095 e
f (0.4) = 0.24842440.
4. Considere a seguinte tabela de pontos desigualmente espaçados:
x 0,0 0,1 0,3 0,6 1,0
f (x) − 6,00000 − 5,89483 − 5,65014 − 5,17788 − 4,28172
a) Use o algoritmo 3.2 para criar o polinómio interpolador de grau quatro para os dados.

79
b) Adicione f (1,1) = −3,99583 à tabela e crie o polinómio interpolador de grau cinco.
5. Considere a seguinte tabela de pontos desigualmente espaçados:
x 0,0 0,2 0,4 0,6 0,8
f (x) 1,00000 1,22140 1,49182 1,82212 2,22554
c) Aproxime f (0,05) , usando os seguintes dados e a fórmula de Newton de diferenças divididas
progressivamente.
d) Use a fórmula de Newton de diferenças divididas regressivamente para aproximar f (0,65) .
e) Use a fórmula de Stirling para aproximar f (0,43) .

3.3. Interpolação de Hermite

Polinómios osculadores generalizam tanto os polinómios de taylor quanto os de Lagrange.


Suponhamos que nos foram dados n+1 números distintos x0 ,, xn em [a, b] e inteiros não negativos

m0 ,, mn , e m = maxm0 , m1 , , mn  . O polinómio osculador que aproxima uma função

f  C m [a , b] nos pontos de xi , para i = 0 , ... , n, é o polinómio de menor grau possível, com a

propriedade de que coincide com a função f e todas as suas derivadas de ordem menor ou igual a mi

em xi . O grau deste polinómio é, no máximo,

n
M =  mi + n ,
i =0


n
porque o número de condições a satisfazer é i =0
mi + (n + 1) e o polinómio de grau M tem M+1

coeficientes que podem ser usados para satisfazer assas condições.

Definição 3.8: Sejam x0 ,, xn n+1 números distintos x0 ,, xn em [a, b] e mi um inteiro não

negativo associado a xi , para i = 0 , ... , n. Suponhamos que f  C m [a , b] , onde m = max 0in mi . O


polinómio osculador que aproxima f é o polinómio P(x) de menor grau possível, tal que

d k P ( xi ) d k f ( xi )
= , para cada i = 0, 1, ... , n e k = 0, 1, ... , mi. 
dx k dx k

Note-se que, quando n = 0, o polinómio osculador que aproxima f é o polinómio de Taylor de grau m0
para f em x0. Quando mi = 0 para qualquer i, o polinómio osculador é o polinómio interpolador de
Lagrange de grau n para a função f nos pontos x0 ,, xn .

Os casos em que mi = 1, para qualquer i = 0, 1, ... , n, produzem os polinómios de Hermite. Para uma
função f dada, estes polinómios coincidem com f nos x0 ,, xn . Adicionalmente, uma vez que as suas

80
primeiras derivadas também coincidem com as de f, têm a mesma curvatura que a função em (xi , f(xi)),
na medida em que as linhas tangentes ao gráfico do polinómio e ao da função coincidem. Vamos
restringir o nosso estudo de polinómios osculadores a eta situação e considerar primeiro um teorema
que descreve precisamente a forma dos polinómios de Hermite.

Teorema 3.9: Se f  C m [a , b] e x0 ,, xn  [a , b] são distintos, o único polinómio de menor grau

que coincide com f e f  em x0 ,, xn é o polinómio de Hermite de grau 2n+1, no máximo, dado por

n n
H 2 n+1 ( x) =  f ( x j ) H n , j ( x) +  f ( x j ) Hˆ n , j ( x) ,
j =0 j =0

onde

H n , j ( x) = [1 − 2( x − x j ) Ln , j ( x j )] L2n , j ( x)

Hˆ n , j ( x) = ( x − x j ) L2n , j ( x) .

Neste contexto, Ln , j ( x) denota o j-ésimo polinómio de coeficientes de Lagrange de grau n definido na

Eq. (3.2). Para além disso, se f  C 2n+2 [a , b] , então

( x − x0 ) 2  ( x − x n ) 2
f ( x) = H 2 n+1 ( x) +  f ( 2 n+ 2) ( ) , 
(2n + 2)!

para algum  com a    b .

Prova (...)

Exemplo 1: Use o polinómio de Hermite que coincide com os dados listados na tabela 3.12, seguinte,
para achar uma aproximação de f(15).

k xk f ( xk ) f ( xk )

0 1,3 0,6200860 -0,5220232


1 1,6 0,4554022 -0,5698959
2 1,9 0,2818186 -0,5811571
Em primeiro lugar calculamos os polinómios de Lagrange e suas respectivas derivadas. Isso da:

81
( x − x1 )( x − x2 ) 50 2 175 152 100 175
L2,0 ( x) = = x − x+ , L2 ,0 ( x) = x− ;
( x0 − x1 )( x0 − x2 ) 9 9 9 9 9

( x − x0 )( x − x2 ) 100 2 320 247 200 320


L2,1 ( x) = =− x + x− , L2 ,1 ( x) = − x+ ; e
( x1 − x0 )( x1 − x2 ) 9 9 9 9 9

( x − x0 )( x − x1 ) 50 2 145 104 100 145


L2, 2 ( x) = = x − x+ , L2 , 2 ( x) = x− .
( x2 − x0 )( x2 − x1 ) 9 9 9 9 9

Os polinómios H 2 , j ( x) e Hˆ n , j ( x) são, então

2 2
 50 175 152   50 2 175 152 
H 2 ,0 ( x) = [1 − 2( x − 1,3)(−5)] x 2 − x+  = (10x − 12) x − x+  ;
 9 9 9   9 9 9 

2 2
 100 2 320 274   50 145 104 
H 2 ,1 ( x) = 1   − x + x−  ; H 2 , 2 ( x) = 10(2 − x) x 2 − x+  ;
 9 9 9   9 9 9 
2 2
 50 175 152   100 2 320 274 
Hˆ 2 ,0 ( x) = ( x − 1,3) x 2 − x+  ; Hˆ 2 ,1 ( x) = ( x − 1,6) − x + x−  e
 9 9 9   9 9 9 
2
 50 145 104 
Hˆ 2 , 2 ( x) = ( x − 1,9) x 2 − x+  .
 9 9 9 

Finalmente,

H 5 ( x) = 0,6200860H 2,0 ( x) + 0,4554022H 2,1 ( x) + 0,2818186H 2, 2 ( x)


− 0,5220232Hˆ 2,0 ( x) − 0,5698959Hˆ 2,1 ( x) − 0,5811571Hˆ 2, 2 ( x).

 4   64  5
H 5 (1,5) = 0,6200860  + 0,4554022  + 0,2818186 
 27   81   81 
 4   32   2 
− 0,5220232  − 0,5698959 −  − 0,5811571 −  = 0,5118277,
 405   405   405 

Um resultado que é exacto até o número de casas decimais apresentadas. 

Embora o Teorema 3.9 providencie uma descrição completa do polinómio de Hermite, está claro,
através do exemplo 1, que a necessidade de determinar e calcular usando-se o polinómio de Lagrange e
suas derivadas torna o processo tedioso, mesmo para pequenos valores de n. Um método alternativo

82
para gerar aproximações de Hermite tem como sua base a fórmula interpoladora (3.10) de diferenças
divididas de Newton para o polinómio de Lagrange em x0 , x1 , , xn ,

n
Pn ( x) = f [ x0 ] +  f [ x0 , x1 , , x k ]( x − x0 )  ( x − x n −1 ) ,
k =1

e a conexão entre a n-ésima diferença dividida e a n-ésima derivada de f como foi expresso no Teorema
3.6 da secção 3.2.

Suponhamos que os x0 , x1 , , xn números distintos são dados juntamente com os valores de f e f’

nesses números. Define-se uma sequência z0 , z1 , , z 2n+1 através de

z 2i = z 2i +1 = xi , para cada i = 0, 1, ..., n,

e constrói-se a tabela de diferenças divididas na forma da Tabela 3.7 que usa

z0 , z1 , , z 2n+1 .

Uma vez que z 2i = z 2i +1 = xi , para cada i, não podemos definir f [ z 2i , z 2i +1 ] pela fórmula de diferenças

divididas. Se assumirmos, baseados no Teorema 3.6, que a substituição razoável nesta situação é
f [ z 2i , z 2i +1 ] = f ( z 2i ) = f ( xi ) , podemos usar os valores

f ( x0 ), f ( x1 ), , f ( xn )

no lugar das primeiras diferenças divididas indefinidas

f [ z0 , z1 ], f [ z 2 , z3 ], , f [ z 2n , z 2n+1 ] .

As diferenças divididas restantes são produzidas como de costume e as diferenças divididas


apropriadas são usadas na fórmula interpoladora de diferenças divididas de Newton. A tabela 3.13
mostra os valores que são usados para as primeiras três colunas de diferenças divididas quando se
determina o polinómio de Hermite H 5 ( x) para x0, x1 e x2. Os restantes valores são gerados da mesma

maneira que na Tabela 3.7. O polinómio de Hermite é dado pela fórmula


2 n +1
H 2 n +1 ( x) = f [ z 0 ] +  f [ z 0 , z1 ,, z k ]( x − z 0 )( x − z1 )  ( x − z n −1 ) .
k =1

Uma prova deste facto pode se encontrar em [Po, p. 56].

83
Tabela 3.13

1ªs diferenças divididas 2ªs diferenças 3ªs diferenças 4ªs diferenças 5ªs diferenças
z f (z ) divididas divididas divididas divididas
z 0 = x0 f [ z 0 ] = f ( x0 )
f [ z0 , z1 ] = f ( x0 )
z1 = x0 f [ z1 ] = f ( x0 ) f [ z0 , z1 , z 2 ]
f [ z 2 ] − f [ z1 ] f [ z0 , z1 , z 2 , z3 ]
f [ z1 , z 2 ] =
z 2 − z1
z 2 = x1 f [ z 2 ] = f ( x1 ) f [ z1 , z 2 , z3 ] f [ z0 , z1 , z 2 , z3 , z 4 ]
f [ z 2 , z3 ] = f ( x1 ) f [ z1 , z 2 , z3 , z 4 ] f [ z0 , z1 , z 2 , z3 , z 4 , z5 ]
z3 = x1 f [ z3 ] = f ( x1 ) f [ z 2 , z3 , z 4 ] f [ z1 , z 2 , z3 , z 4 , z5 ]
f [ z 4 ] − f [ z3 ] f [ z 2 , z3 , z 4 , z5 ]
f [ z3 , z 4 ] =
z 4 − z3
z 4 = x2 f [ z 4 ] = f ( x2 ) f [ z3 , z 4 , z5 ]
f [ z 4 , z5 ] = f ( x2 )
z 5 = x2 f [ z 5 ] = f ( x2 )
Exemplo 2: Os valores da Tabela 3 usam os dados fornecidos no Exemplo 1. Os valores sublinhados são os fornecidos, enquanto que os
restantes são gerados pela fórmula (3.9) padrão de diferenças divididas.

H 5 (1,5) = 0,6200860+ (1,5 − 1,3)(−0,5220232) + (1,5 − 1,3) 2 (−0,0897427) + (1,5 − 1,3) 2 (1,5 − 1,6)(0,0663657) +
+ (1,5 − 1,3) 2 (1,5 − 1,6) 2 (0,0026663) + (1,5 − 1,3) 2 (1,5 − 1,6) 2 (1,5 − 1,9)(−0,0027738) = 0,5118277.

84
1,3 0,6200860
– 0,5220232
1,3 0,6200860 – 0,0897427
– 0,5489460 0,0663657
1,6 0,4554022 – 0,0698330 0,0026663
– 0,5698959 0,0679655 – 0,0027738
1,6 0,4554022 – 0,0290537 0,0010020
– 0,5786120 0,0685667
1,9 0,2818186 – 0,0084837
– 0,5811571
1,9 0,2818186
A técnica usada no Algoritmo 3.3 pode ser extendida para o uso na determinação de outros polinómios osculadores. Uma discussão concisa
dos procedimentos pode ser encontrada em [Po, pp. 53-57].
Algoritmo 3.3 Interpolação de Hermite
Para obter os coeficientes do polinómio interpolador de Hermite H(x) nos n+1 pontos distintos de x0 ,, xn para uma função f:
INPUT Números x0 ,, xn ; valores f ( x0 ) , f ( x1 ) , , f ( xn ) e f ( x0 ) , f ( x1 ) , , f ( xn ) .
2 n +1 i −1
OUTPUT Os números Q0 , 0 , Q1,1 , ..., Q2 n +1, 2 n+1 , onde H ( x) =  Qi,i  ( x − x j )
i =0 j =0

Passo 1 Para i = 1, 2, ..., n executa os passos 2 e 3.


Passo 2 Faça z 2i = xi ; z 2i +1 = xi ; Q2i ,0 = f ( xi ) ; Q2i +1,0 = f ( xi ) ; Q2i +1,1 = f ( xi ).
Q2i , 0 − Q2i −1, 0
Passo 2 Faça Q2i ,1 = .
z 2i − z 2i −1
Passo 4 Para i = 1, 2, ..., 2n+1
Qi , j −1 − Qi −1, j −1
Para j = 2, 3, ..., i, faça Qi , j = .
zi − zi − j
Passo 4 OUTPUT ( Q0,0 , Q1,1 , , Q2n+1,2n+1 ) ; ); STOP.

85
Exercícios (3.3):
1. Use o Teorma 3.9 ou o algoritmo 3.3 para criar um polinómio aproximado para os seguintes dados:
a) b)
x f (x) f (x) x f (x) f (x)
8,3 17,56492 3,116256 0,8 0,22363362 2,1691753
8,6 18,50515 3,151762 1,0 0,65809197 2,0466965

c) d)
x f (x) f (x) x f (x) f (x)
− 0,5 − 0,0247500 0,7510000 0,1 − 0,62049958 3,58502082
− 0,25 0,3349375 2,1890000 0,2 − 0,28398668 3,14033271
0 1,1010000 4,0020000 0,3 0,00660095 2,66668043
0,4 0,24842440 2,16529366
2. Os dados no exercício 1 foram gerados através das seguintes funções. Use os polinómios criados no
mesmo exercício para os valores de x dados para aproximar f(x) e calcule o erro efectivamente
cometido.
a) f ( x) = x ln x ; aproxime f (8,4) .
b) f ( x) = sin(e x − 2) ; aproxime f (0,9) .
c) f ( x) = x 3 + 4,001x 2 + 4,002x + 1,101; aproxime f (− 13 ) .
d) f ( x) = x cos x − 2x 2 + 3x − 1 ; aproxime f (0,25) .
3. Considere a tabela seguinte:
x f ( x) = sin x f ( x) = cos x
0,30 0,29552 0,95534
0,32 0,31457 0,94924
0,35 0,34290 0,93937
a) Use estes valores com aritmética de arredondamento a cinco dígitos para criar o polinómio
interpolador de Hermite para depois aproximar sin 0,34 .
b) Determine um limite de erro para a aproximação da alínea a) e compare-o com o erro efectivo.
c) Adicione sin 0,33 = 0,32404 e cos 0,33 = 0,94604 aos dados da tabela e refaça os cálculos da
alínea b).
4. Seja f ( x) = 3xe x − e 2 x .
a) Aproxime f (1,03) através do polinómio de Hermite de grau 3 no máximo, usando x0 = 1 e
x1 = 1,05 . Compare o erro efectivo com o limite de erro.
b) Repita o exercício da alínea a) com o polinómio interpolador de Hermite de grau 5 no máximo,
usando x0 = 1 , x1 = 1,05 e x 2 = 1,07 .
5. A seguinte tabela lista dados para a função descrita por f ( x) = e 0,1x . Aproxime f (1,25) usando
2

H 5 (1,25) e H 3 (1,25) , onde H 5 usa os pontos de x0 = 1 , x1 = 2 e x3 = 3 e H 3 usa os pontos de


x =1 e ~
~
0 x = 1,5 . Ache limites de erro para estas aproximações.
1
x f (x) f (x)

86
x0 = ~
x0 = 1 − 0,62049958 3,58502082
~
x = 1,5
1
− 0,28398668 3,14033271
x1 = 2 0,00660095 2,66668043
x2 = 3 0,24842440 2,16529366
6. Um carro andando numa estrada recta foi cronometrado num certo número de pontos. Os dados da
observação são dados na tabela seguinte, onde o tempo é medido em segundos, a distância em
metros e a velocidade em metros por segundo.
Tempo 0 3 5 8 13
Distância 0 225 383 623 993
Velocidade 75 77 80 74 72
a) Use um polinómio de Hermite para prever a posição do carro e a sua velocidade quando t = 10
s.
b) Use as derivadas do polinómio de Hermite para determinar se o carro chega a exceder a
velocidade de 100 km/h, velocidade limite nessa estrada.
c) Qual é a velocidade máxima prevista para este carro

87
4. DIFERENCIACÃO E INTEGRACÃO NUMÉRICAS
Uma chapa ondulada de cobertura é construída pressionando-se uma chapa lisa de alumínio
nessa ondulação cuja secção transversal tem a forma de uma onda senoidal.

Uma chapa ondulada de 4 pés de comprimento é produzida, com a altura de cada onda igual a 1
polegada a partir da linha central e cada onda tem um período de 2 polegadas
aproximadamente. O problema de encontrar o comprimento da chapa lisa inicial é o mesmo que
determinar o comprimento da curva dada por f ( x) = sin x , de x = 0 para x = 48 polegadas. Do
cálculo sabemos que este comprimento é
48 48
L=  1 + ( f ( x) ) dx =  1 + (cos x) 2 dx ,
2

0 0

assim, o problema se reduz ao cálculo deste integral. Embora a função seno seja uma das funções
matemáticas mais comuns, o cálculo do seu comprimento envolve um integral elíptico do segundo
tipo, que não pode ser encontrado pelos métodos básicos comuns. Neste capítulo são
desenvolvidos métodos para aproximar soluções de problemas deste tipo. Este problema
particular é tratado no exercício 21 da secção 4.4 e exercício 10 da secção 4.5.

Mencionamos na introdução do capítulo 3 que uma razão para o uso de polinómios algébricos
para aproximar um conjunto arbitrário de dados é que, dada qualquer função contínua definida
num intervalo fechado, há um polinómio que é arbitrariamente próximo da função em todos os
pontos do intervalo. Também as derivadas e os integrais de polinómios são facilmente
determinados e aplicados em qualquer ponto. Não é, pois, de admirar que a maioria dos
procedimentos de aproximação de derivadas e integrais use polinómios que aproximam a função.

88
4.1. Diferenciação Numérica
f ( x 0 + h) − f ( x 0 )
A derivada da função f em x0 é f ( x0 ) = lim .
h h →0

Esta fórmula dá-nos uma maneira óbvia de gerar aproximações de f (x) , simplesmente calculando
f ( x 0 + h) − f ( x 0 )
para valores pequenos de h. Embora esta maneira seja óbvia, não é muito pouco
h
eficaz por causa do nosso inimigo, erro de arredondamento, mas é certamente um lugar de começo.
Sendo x0  (a , b) , com f  C 2 a , b e x1 = x0 + h para h  0 suficientemente pequeno para garantir
que x1  a , b , tem-se
( x − x 0 )( x − x1 )
f ( x) = P0,1 ( x) + f ( ( x)) =
2!
f ( x 0 )( x − x 0 − h) f ( x 0 + h)( x − x 0 ) ( x − x 0 )( x − x 0 − h)
= + + f ( ( x)) ,
−h h 2
para algum  em [a, b]. Derivando esta função tem-se:
f ( x 0 + h) − f ( x 0 )  ( x − x0 )( x − x0 − h) 
f ( x) = + Dx  f ( ( x))
h  2 
f ( x0 + h) − f ( x0 ) 2( x − x0 ) − h ( x − x0 )( x − x0 − h)
= + f ( ( x)) +  D x ( f ( ( x))) .
h 2 2
f ( x 0 + h) − f ( x 0 )
Assim, f ( x)  . Uma dificuldade com esta fórmula é não temos informação acerca de
h
Dx f ( ( x)) e assim o erro de truncatura não pode ser estimado. Porém, quando x = x0 ,
f ( x 0 + h) − f ( x 0 ) h
f ( x0 ) = − f ( ( x)) (4.1)
h 2
Porque Dx ( f ( ( x))) = 0 .
f ( x 0 + h) − f ( x 0 )
Para valores pequenos de h, pode ser usado para aproximar f ( x0 ) com um erro
h

, onde M é um limite de f ( ( x)) para x  a , b. Esta fórmula é conhecida como
M h
limitado por
2
fórmula de diferenças progressivas, se h > 0 e fórmula de diferenças regressivas se h < 0.
f (1,8 + h) − f (1,8)
Exemplo: f ( x) = ln x e x0 = 1,8 . A fórmula de diferenças progressivas é usada para
h
hf ( ) h h
aproximar f (1,8) , com o erro =  , onde 1,8    1,8 + h . Os resultados na tabela
2 2 2 2(1,8) 2
4.1 são gerados para h=0,1; 0,01 e 0,001.

89
1
Uma vez que f ( x) = , o valor exacto de f (1,8) é 0, 5 e os limites de erro são bem próximos do erro
x
actual de aproximação.
Para se obter fórmulas de aproximação de derivadas, supomos que x0 ,  , xn  são (n+1) números
distintos nalgum intervalo I e que f  C n+1 ( I ) . Do Teorema 3.3,
n
( x − x0 )  ( x − x n ) ( n +1)
f ( x ) =  f ( x k ) Lk ( x ) + f ( ( x) ) , para algum (x) em I, onde Lk (x) denota o k-
k =0 (n + 1)!
ésimo polinómio de coeficientes de Lagrange para f em x0 , , xn . Derivando esta expressão tem-se

 ( x − x0 ) ( x − xn )  ( n+1)
 
( ( x)) + ( x − x0 )( x − xn ) f ( n+1) ( ( x))  .
n
f ( x) =  f ( xk ) Lk ( x) +   f
k =0  (n + 1)!  (n + 1)!
De novo, temos um problema de estimar o erro de truncatura, a não ser que x seja um dos números x j

 

da lista. Neste caso, o termo f ( n+1) ( ( x)) é nulo e a fórmula torna-se
n
f ( n+1) ( ( x) ) n
f ( x j ) =  f ( xk ) Lk ( x j ) +  ( x j − xk ) , (4.2)
k =0 (n + 1)! k =0
k j

chamada fórmula de (n+1) pontos para aproximar f ( x j ) . Geralmente, o uso de mais pontos nesta

fórmula gera melhores aproximações, embora o número de cálculos funcionais e o crescimento dos
erros de aproximação desencorajem isso de alguma forma. As fórmulas mais comuns são aquelas que
envolvem três e cinco pontos.

Primeiro deduzimos algumas fórmulas úteis de três pontos e consideramos os aspectos dos seus erros.

( x − x1 )( x − x2 ) 2 x − x1 − x2
Uma vez que L0 ( x) = , temos L0 ( x) = . Analogamente,
( x0 − x1 )( x0 − x2 ) ( x0 − x1 )( x0 − x2 )
2 x − x0 − x 2 2 x − x0 − x1
L1 ( x) = e L2 ( x) = . Assim, da equação (4.2), tem-se:
( x1 − x0 )( x1 − x2 ) ( x2 − x0 )( x2 − x1 )

 2 x j − x1 − x 2   2 x j − x0 − x 2 
f ( x j ) = f ( x0 )   + f ( x1 )  +
 ( x0 − x1 )( x0 − x 2 )   ( x1 − x0 )( x1 − x 2 ) 
(4.3)
 2 x j − x0 − x1  1 (3) 2
+ f ( x2 )
− −
 + f ( ) ( x j − x k ),
 2
( x x 0 )( x 2 x1 
) 6 k =
k j
0

para cada j = 0, 1, 2, onde a anotação j indica que este ponto depende de xj.

As três fórmulas da equação (4.3) tornam-se especialmente úteis se os pontos estiverem igualmente
espaçados, isto é, quando x1 = x0 + h e x2 = x0 + 2h , para algum h  0. Nas seguintes secções, vamos

assumir que que os pontos estão igualmente espaçados.

90
Usando a equação (4.3), com x j = x0 , x1 = x0 + h e x2 = x0 + 2h , tem-se

1 3 1  h ( 3)
2
f ( x0 ) = − f ( x ) + 2 f ( x ) − f ( x ) + f ( 0 ) . Fazendo o mesmo para x j = x1 , tem-se
h  2
0 1 2 
2  3
1 1 1  h ( 3)
2
f ( x1 ) = − f ( x ) + f ( x ) − f (1 ) , e para x j = x2 ,
h  2
0 2 
2  6
1 1 3  h ( 3)
2
f ( x2 ) = f ( x0 ) − 2 f ( x1 ) + f ( x2 ) + f ( 2 ) . Uma vez que x1 = x0 + h e x2 = x0 + 2h ,
h  2 2  3
estas fórmulas podem ser expressas também como
1 3 1  h ( 3)
2
f ( x0 ) = − f ( x ) + 2 f ( x + h ) − f ( x + 2 h)  3 f ( 0 ) ,
+
h  2
0 0 0
2

1 1 1  h ( 3)
2
f ( x0 + h) = − f ( x ) + f ( x + 2 h )  6 f (1 ) e

h  2
0 2
2

1 1 3  h ( 3)
2
f ( x2 ) = f ( x 0 ) − 2 f ( x 0 + h) + f ( x 0 + 2h)  + f ( 2 )
h  2 2  3

Por uma questão de conveniência, na equação do meio é usada a variável x0 para substituir x0 + h ,

mudando, assim, esta fórmula para uma aproximação de f ( x0 ) . Uma mudança similar ocorre com x0

para substituir x0 + 2h na última equação. Isto gera três fórmulas para aproximar f ( x0 ) :

h3
f ( x0 ) =
1
− 3 f ( x0 ) + 4 f ( x0 + h) − f ( x0 + 2h) + f ( 0 ) ,
2h 3
2
f ( x0 ) =
1
− f ( x0 − h) + f ( x0 + h) − h f (1 ) e
2h 6
3
f ( x0 ) =
1
 f ( x0 − 2h) − 4 f ( x0 − h) + 3 f ( x0 ) + h f ( 2 ) .
2h 3
Finalmente, note-se que a última destas equações pode ser obtida a partir da primeira, por uma simples
substituição de h por –h. Por isso, há apenas duas fórmulas:
3
f ( x0 ) =
1
− 3 f ( x0 ) + 4 f ( x0 + h) − f ( x0 + 2h) + h f ( 0 ) , (4.4)
2h 3

Onde 0 está entre x0 e x0 + 2h , e

2
f ( x0 ) =
1
− f ( x0 − h) + f ( x0 + h) − h f (1 ) (4.5)
2h 6

91
Onde 1 está entre x0 − h e x0 + h .

Embora os erros em ambas equações (4.4) e (4.5) sejam O(h2), o erro da equação (4.5) é
aproximadamente metade do erro da equação (4.4). Isto é por causa a equação (4.5) usa dados de
ambos os lados de x0 e q equação (4.4) usa dados de apenas um lado. Note-se também que f precisa de

ser calculado em dois pontos apenas para a equação (4.5), enquanto que na equação (4.4) são precisos
três pontos. A figura 4.2 faz uma ilustração da aproximação produzida a partir da equação (4.5). A
aproximação através da equação (4.4) é útil perto das extremidades dos intervalos, uma vez que a
informação sobre f pode não estar disponível fora do intervalo.

Os métodos apresentados nas equações (4.4) e (4.5) são chamadas fórmulas de três pontos (mesmo
que o terceiro ponto f ( x0 ) não apareça na equação (4.5). Da mesma forma, há fórmulas de cinco

pontos, que envolvem o cálculo de valores da função em mais dois pontos, cujo termo de erro é O(h4).
Uma é
4
f ( x0 ) =
1
 f ( x0 − 2h) − 8 f ( x0 − h) + 8 f ( x0 + h) − f ( x0 + 2h) − h f V (1 ) , (4.6)
12h 30

Onde  está entre x0 − 2h e x0 + 2h , cuja dedução encontra-se na secção 4.2. A outra fórmula de

cinco pontos é útil para aproximação de pontos das extremidades dos intervalos, particularmente no
que respeita à interpolação por splines cúbicos fixos, da secção 3.4 é
4
f ( x0 ) =
1
− 25 f ( x0 ) + 48 f ( x0 + h) − 36 f ( x0 + 2h) + 16 f ( x0 + 3h) − 3 f ( x0 + 4h) + h f v ( 0 ) , (4.7)
12h 5

onde 0 está entre x0 e x0 + 4h . Aproximações de pontos da extremidade esquerda são encontradas

usando esta fórmula com h > 0 e de pontos da extremidade direita usando a mesma fórmula com h < 0.

Exemplo 2: Valores de f ( x) = xe x são dados na tabela 4.2.

x 1,8 1,9 2,0 2,1 1,2


f(x) 10,889365 12,703199 14,778112 17,148957 19,855030
Uma vez que f ( x) = ( x + 1) e x , temos f (2,0) = 22,167168. A aproximação de f (2.0) usando
fórmulas de três e de cinco pontos, produz os seguintes resultados:

Fórmulas de três pontos


Usando (4.4) com h = 0,1 :
1
− 3 f (2,0) + 4 f (2,1) − f (2,2) = 22,032310,
0,2

92
Usando (4.4) com h = −0,1 :
1
− 3 f (2,0) + 4 f (1,9) − f (1,8) = 22,054525,
− 0,2
Usando (4.5) com h = 0,1 :
1
 f (2,1) − f (1,9) = 22,228790,
0,2
Usando (4,5) com h = 0,2 :
1
 f (2,2) − f (1,8) = 22,414163.
0,4
Os erros resultantes da aplicação destas fórmulas são aproximadamente de 1,35 10−1 , 1,13  10−1 ,
− 6,16  10−2 e − 2,47 10−2 , respectivamente.
Fórmula de cinco pontos
Usando (4.6) com h = 0,1 (a única fórmula de cinco pontos aplicável):
1
 f (1,8) − 8 f (1,9) + 8 f (2,1) − f (2,2) = 22,166996 .
1,2
O erro resultante da aplicação desta fórmula é aproximadamente de 1,69 10−4 .
A fórmula de cinco ponto é claramente superior. Note-se também que o erro resultante da aplicação de
(4.5) com h = 0,1 é aproximadamente metade da magnitude do erro resultante da aplicação de (4.4),
tanto com h = 0,1 como com h = –0,1. 

Outros métodos podem também ser deduzidos para aproximações de derivadas de ordem mais elevada
de uma função, usando apenas tabela de valores da função em vários pontos. A dedução é
algebricamente tediosa, porém, um procedimento representativo será dado.

Desenvolve-se uma função f em x0 usando o polinómio de Taylor do terceiro grau e calcule a função

em x0 + h e x0 − h . Então,

1 1 1
f ( x0 + h) = f ( x0 ) + f ( x0 ) h + f ( x0 ) h 2 + f ( x0 ) h 3 + f IV
(1 ) h 4 e
2 6 24
1 1 1
f ( x0 − h) = f ( x0 ) − f ( x0 ) h + f ( x0 ) h 2 − f ( x0 ) h 3 + f IV
( −1 ) h 4 , onde
2 6 24
x0 − h   −1  x0  1  x0 + h .

Ao adicionamos estas duas equações, os termos envolvendo potências de f ( x0 ) de expoente ímpar

anulam-se e acabamos tendo

1

f ( x 0 + h ) + f ( x 0 − h) = f ( x 0 ) + f ( x 0 ) h +
2
2 h4
24
f  IV
(1 ) + f IV
( −1 ) . Resolvendo-se esta equação

em função de f ( x0 ) tem-se:

93
f ( x0 ) =
1
h2
 f ( x 0 − h ) − 2 f ( x 0 ) + f ( x 0 + h )  −
h2
24
f  IV
(1 ) + f IV

( −1 ) . (4.8)

Suponhamos que f IV
é contínua em x0 − h , x0 + h . Uma vez que
1
2
f  IV
(1 ) + f IV

( −1 ) está entre

 1 e  −1 , do Teorema do Valor Intermédio resulta que existe um número  entre  1 e  −1 e ainda em

(x0 − h , x0 + h) , com f IV
( ) =
1
2
f IV
(1 ) + f IV

( −1 ) . Isto permite-nos reescrever a equação (4.8)

como

h2
f ( x0 ) =
1
 f ( x 0 − h ) − 2 f ( x 0 ) + f ( x 0 + h )  − f IV
( ) (4.9)
h2 12

Para algum , com x0 − h    x0 + h .

Exemplo 3: Conforme os dados fornecidos no Exemplo 2, para f ( x) = xe x , podemos usar a equação

(4.9) para aproximar f (2,0) . Uma vez que f ( x) = ( x + 2)e x , o valor exacto é f (2,0) = 29,556224.
Usando (4.9) com h = 0,1 tem-se:

f (2,0) 
1
 f (1,9) − 2 f (2,0) + f (2,1) = 29,593200, e usando (4.9) com h = 0,2 tem-se
0,01

f (2,0) 
1
 f (1,8) − 2 f (2,0) + f (2,2) = 29,704275.
0,04

Os erros são aproximadamente de − 3,70 10−2 e − 1,48 10−1 , respectivamente. 

Um assunto particularmente importante no estudo da diferenciação numérica é o efeito que o erro de


aproximação cria na aproximação. Examinemos a equação (4.5),

h2
f ( x0 ) =
1
− f ( x0 − h) + f ( x0 + h) − f (1 ) ,
2h 6

mais de perto. Suponhamos que ao calcular f ( x0 + h) e f ( x0 − h) encontramos o erro de aproximação


~ ~
e( x0 + h) e e( x0 − h) . Então os nossos valores calculados, f ( x 0 + h) e f ( x 0 − h) estão relacionados
~
com os valores reais f ( x0 + h) e f ( x0 − h) através das fórmulas f ( x0 + h) = f ( x0 + h) + e( x0 + h) e
~
f ( x 0 − h ) = f ( x 0 − h ) + e( x 0 − h ) . O erro total de aproximação,
~ ~
f ( x 0 + h ) − f ( x 0 − h ) e( x 0 + h ) − e( x 0 − h ) h 2
f ( x0 ) − = − f (1 ) , é devido em parte ao erro de
2h 2h 6
94
aproximação e em parte ao erro de truncatura. Se assumirmos que os erros de aproximação e( x0  h)

estão limitados por algum raio  >0 e que a terceira derivada de f está limitada por um raio M > 0,
então,
~ ~
f ( x 0 + h) − f ( x 0 − h)  h 2
f ( x0 ) −  + M.
2h h 6

h2
Para reduzir o erro de truncatura, M , devemos reduzir h. Mas como h está reduzido, o erro de
6

aproximação cresce. Na prática, então, é pouco vantajoso deixar h ficar demasiadamente pequeno,
h
uma vez que o erro de aproximação irá dominar os cálculos.

Exemplo 3: Considere o uso dos valores da tabela 4.3 para aproximar f (0,900) , onde f ( x) = sin x . O
valor real é cos 0,900 = 0,62161.

Tabela 4.3
x 0,800 0,850 0,880 0,890 0,895 0,898 0,899
sin x 0,71736 0,75128 0,77074 0,77707 0,78021 0,78208 0,78270

x 0,901 0,902 0,905 0,910 0,920 0,950 1,000


sin x 0,78395 0,78457 0,78643 0,78950 0,79560 0,81342 0,84147

Usando a fórmula f (0,900) 


1
− f (0,900 − h) + f (0,900 + h) com valores diferentes de h,
2h
produzem-se as aproximações da tabela 4.4 seguinte:

h 0,001 0,002 0,005 0,010 0,020 0,050 0,100


Aproximação 0,62500 0,62250 0,62200 0,62150 0,62150 0,62140 0,62055
de f (0,900)
Erro 0,00339 0,00089 0,00039 -0,00011 -0,00011 -0,00021 -0,00106
A melhor escolha de h aparece situada entre 0,005 e 0,05. Se fizermos alguma análise ao termo do erro

h2  3
e(h) = + M , podemos usar o cálculo para verificar que um mínimo de e ocorre em h = ,
h 6 M
onde M = max f ( x) = max cos x = cos 0,8  0,028 (veja o Exercício 23 [Burden, 7.th Ed.
x0,800;1, 00  x0,800;1, 00 

p.178]).

95
Uma vez que os valores de f foram produzidos com cinco casas decimais, é razoável assumir que o erro
de aproximação está limitado por um raio do tamanho  = 0,000005. Por conseguinte, a escolha óptima

3 (0,000005)
de h é de h =  0,028 aproximadamente, que é consistente com os resultados da tabela
0,69671
4.4.

Na prática não podemos calcular um h óptimo para usar em aproximações de derivadas, uma vez que
não temos conhecimento da terceira derivada da função. Mas devemos ficar alerta que a redução do
tamanho dos passos nem sempre irá melhorar a aproximação. 

Exercícios (4.1):
1. Use as fórmulas de diferenças progressivas e regressivas para determinar cada um dos valores em
falta nas seguintes tabelas.

a) b)

x f(x) f (x) x f(x) f (x)


0.4794
0.5 0.0 0.00000
0.5646
0.6 0.2 0.74140
0.6442
0.7 0.4 1.3718
2. Calcule o erro efectivo e ache as fórmulas dos limites de erro, sabendo que os dados do exercício 1
foram obtidos a partir das seguintes funções.

a) f ( x) = sin x b) f ( x) = e x − 2x 2 + 3x − 1
3. Use as fórmulas de três pontos mais correctas para determinar cada um dos valores em falta nas
seguintes tabelas.
a) b)
x f (x) f (x) x f (x) f (x)
1,1 9,025013 8,1 16,94410
1.2 11,02318 8,3 17,56492
1.3 13,46374 8,5 18,19056
1.4 16,44465 8,7 18,82091
c) d)
x f (x) f (x) x f (x) f (x)
2,9 -4,827866 2,0 3,6887983
3,0 -4,240058 2,1 3,6905701
3,1 -3,496909 2,2 3,6688192
3,2 -2,596792 2,3 3,6245909

96
4. Calcule o erro efectivo e ache as fórmulas dos limites de erro, sabendo que os dados do exercício 3
foram obtidos a partir das seguintes funções.

a) f ( x) = e 2 x b) f ( x) = x ln x

c) f ( x) = x cos x − x 2 sin x d) f ( x) = 2(ln x) 2 + 3sin x


5. Use as fórmulas dadas nesta secção para determinar, o mais correctamente possível, aproximções
de cada um dos valores em falta na tabela seguinte.

a) b)

x f (x) f (x) x f (x) f (x)

2,1 -1,709847 -3,0 9,367879


2.2 -1,373823 -2,8 8,233241
2,3 -1,119214 -2,6 7,180350
2,4 -0,9160143 -2,4 6,209329
2,5 -0,7470223 -2,2 5,320305
2,6 -,06015966 -2,0 4,513417
6. Calcule o erro efectivo e ache as fórmulas dos limites de erro, sabendo que os dados do exercício 5
foram obtidos a partir das seguintes funções.
x
a) f ( x) = tan x b) f ( x) = e + x 2
3

7. Considere a seguinte tabela de dados:

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

f (x) 0,9798652 0,9177710 0,8080380 0,6386093 0,3843735

a) Use todas as fórmulas apropriadas dadas nesta secção para aproximar f (0,4) e f (0,4) .
b) Use todas as fórmulas apropriadas dadas nesta secção para aproximar f (0,6) e f (0,6) .

8. Seja f ( x) = 3xe x − cos x . Use os seguintes dados e a Eq. (4.9) para aproximar f (1,3) com h = 0,1
e com h = 0,01 e compare os resultados com o valor real de f (1,3) .
x 1,20 1,29 1,30 1,31 1,40
f (x) 11,59006 13,78176 14,04276 14,30741 16,86187

97
9. Considere a seguinte tabela de dados:
x 0,2 0,4 0,6 0,8 1,0
f (x) 0,9798652 0,9177710 0,8080380 0,6386093 0,3843735
a) Use a Eq. (4.7) para aproximar f (0,2) e f (1,0) .
b) Use Eq. (4.6) para aproximar f (0,6) .
10. No exercício 6 da secção 3.3 foram apresentados dados descrevendo um carro a se deslocar numa
estrada recta. Esse problema pedia para se prever a posição e a velocidade do carro quando t = 10 s.
Use os seguintes tempos e posições para prever a velocidade (em Km/h) em cada tempo da tabela.

Tempo (s) 0 3 5 8 10 13

Distância (m) 0 225 383 623 742 993

4.2. Extrapolação de Richardson


Extrapolação pode ser usada sempre que se saiba que uma técnica de aproximação tem um termo de
erro com uma forma previsível, que depende de um parâmetro, normalmente o salto h. Suponhamos
que para cada número h  0 temos uma fórmula N(h) que aproxima um valor desconhecido M e que o
erro de truncatura envolvido nessa aproximação tem a forma

M − N (h) = K1h + K 2 h 2 + ... ,

Para alguma colecção de constantes desconhecidas K1, K2, ....

Uma vez que o erro de truncatura é O(h), poderíamos esperar, por exemplo, que

M − N (0.1)  0.1K1 , M − N (0.01)  0.01K1 ,

E, em geral, que M − N (h)  K1 h , a não ser que tenha havido uma grande variação da magnitude entre
as constantes K1, K2, ....

O objecto da extrapolação é encontrar um caminho fácil de combinar as aproximações menos boas


numa forma mais apropriada para produzir fórmulas com um erro de truncatura de maior grau.
Suponhamos, por exemplo, que pudéssemos combinar as fórmulas N(h) de forma a produzirem uma
fórmula de aproximação O(h2), Nˆ (h) , para M, com

M − Nˆ (h) = K 1 h + Kˆ 2 h 2 + Kˆ 3 h 3 + ... ,

para alguma colecção de constantes Kˆ 1 , Kˆ 2 ,  . Então teríamos

98
M − N (0.1)  0.01Kˆ 2 , M − N (0.01)  0.0001Kˆ 2 ,

e assim por diante. Se as constantes K1 e K̂ 2 são quase do mesmo tamanho, então as aproximações

Nˆ (h) serão muito melhores do que as correspondentes N (h) . A extrapolação continua combinando

aproximações Nˆ (h) de maneira a se produzirem fórmulas com erro de truncatura O(h3), e assim por
diante.

Para ver especificamente como geramos essas fórmulas de ordem superior, consideremos a fórmula de
aproximação de M na forma

M = N ( h) + K 1 h + K 2 h 2 + K 3 h 3 +  , (4.10)

Uma vez que a fórmula se assume ser válida para todo h > 0, considera-se o resultado quando se
substitui o parâmetro h pela sua metade. Então temos a fórmula

h
2 3
h h h
M = N   + K1 + K 2 + K3 + .
2 2 4 8

Subtraindo a equação (4.10) do dobro desta, elimina-se o ramo envolvendo K1 e dá

 h   h2   h3 
M = 2 N   − N (h) + K 2  − h 2  + K 3  − h 2  + 
 2   2   4  .
 h  h  h2
 h 3

=  N   +  N   − N (h)  + K 2  − h 2  + K 3  − h 3  + 
 2  2   2   4 

Para facilitar a discussão, definimos N1 (h)  N (h) e

h  h 
N 2 ( h) = N 1   +  N 1   − N 1 ( h)  .
2  2 

Então temos a fórmula de aproximação de M:

K 2 2 3K 3 3
M = N 2 ( h) − h − h − . (4.11)
2 4

Se agora substituímos h por h/2 nesta fórmula teremos

h K 3K 3 3
M = N2   − 2 h2 − h + . (4.12)
2 8 32

Isto pode ser combinado com a equação (4.11) para se eliminar o termo de h2. Especialmente,
subtraindo (4.11) do quádruplo da equação (4.12) obtém-se

99
h 3K 3 3
3M = 4 N 2   − N 2 (h) + h +,
2 8

e dividindo por 3 obtém-se uma fórmula de O(h3) para a aproximação de M:

 h 
 N 2   − N 2 ( h) 
h 2 3K 3 3
M = N 2   + + h +.
 2 3  8
 
 

h
N 2   − N 2 ( h)
Definido N 3 (h)  N 2  h  +  2  , temos a fórmula de O(h3):
 
2 3

3K 3 3
M = N 3 ( h) + h +.
8

O processo continua com a construção de uma aproximação de O(h4)

h
N 3   − N 3 ( h)
h 2
N 4 ( h)  N 3   + ,
2 7

uma aproximação de O(h5)

h
N 4   − N 4 ( h)
h 2
N 5 ( h)  N 4   + ,
2 15

e assim por diante. Em geral, se M pode ser escrito na forma


m −1
M = N ( h) +  K j h j + O ( h m ) , (4.13)
j =1

depois, para cada j = 2, 3, ..., m, temos uma aproximação de O(h j ) na forma

h
N j −1   − N j −1 (h)
h 2
N j (h) = N j −1   + . (4.14)
2 2 j −1 − 1

Estas aproximações são geradas por linhas na ordem indicada pelo número de valores na tabela 4.5.
Isto é feito para se fazer uso das maiores vantagens das fórmulas de ordem superior.

100
O(h1 ) O(h 2 ) O(h 3 ) O(h 4 )
1: N1 (h) = N (h)
h h
2: N 1   = N   3: N 2 (h)
2 2
h h h
4: N 1   = N   5: N 2   6: N 3 (h)
4 4 2
h h h h
7: N 1   = N   8: N 2   9: N 3   10: N 4 (h)
8 8 4 2
A extrapolação pode ser aplicada sempre que o erro de truncatura para uma fórmula tenha a forma
m −1

K
j =1
j h  j + O( h  m ) ,

Para uma colecção de constantes Kj e quando 1   2   3     m . No exemplo a seguir temos

j = 2j.

Exemplo 1: A fórmula de diferenças centradas da equação (4.5) para aproximar f ( x0 ) pode ser

expressa com uma fórmula de erro:

h2 h 4 ( 5)
f ( x0 ) =
1
 f ( x 0 + h) − f ( x 0 − h)  − f ( x 0 ) −

 f ( x0 ) − 
2h 6 120

Uma vez que esta fórmula de erro só contém potências de h, a extrapolação é muito mais eficiente do
que foi apresentado no início da discussão. Neste caso, temos a aproximação O(h 2 )

h2 h 4 ( 5)
f ( x0 ) = N1 (h) − f ( x0 ) − f ( x0 ) −  , (4.15)
6 120
Onde

N 1 ( h)  N ( h) =
1
 f ( x 0 + h ) − f ( x 0 − h)  .
2h
Substituindo h por h/2 nesta fórmula obtém-se a aproximação
 h  h 
2
h4
f ( x0 ) = N1   − f ( x0 ) − f ( 5) ( x0 ) −  .
 2  24 1920
Subtraindo-se (4.15) do quádruplo desta equação elimina-se o termo O(h2) que envolve f ( x0 ) e
obtém-se

101
h h 4 ( 5)
3 f ( x0 ) = 4 N1   − N1 (h) + f ( x0 ) +  .
2 160
Dividindo por 3 obtém-se uma fórmula O(h4)
h 4 ( 5)
f ( x0 ) = N 2 (h) + f ( x0 ) +  ,
480
h
N 1   − N 1 ( h)
Onde N 2 (h) = N 1  h  + 2 .
2 3
Continuando-se com este procedimento obtém-se, para cada j = 2, 3, ..., uma aproximação
h
N j −1   − N j −1 (h)
h 2
N j (h) = N j −1   + j −1
. Note-se que o denominador do quociente é 4 j −1 − 1 e não
2 4 −1
2
j −1 h h2
2 − 1 , porque estamos agora a eliminar potências de h em vez das de h. Uma vez que   =
2
,
2 4
os multiplicadores usados para eliminar as potências de h2 são potências de 4 em vez das de 2.
Suponhamos que x0 = 2,0 , h = 0,2 e f ( x) = xe x . Então,

N1 (0,2) = N (0,2) =
1
 f (2,2) − f (1,8) = 22,414160, N1 (0,1) = N (0,1) = 22,228786 e
0,4
N1 (0,05) = N (0,05) = 22,182564.
A tabela de extrapolação para este dados é mostrada na tabela 4.6. O valor exacto de f ( x) = xe x + e x
em x0 = 2,0 , exacto até seis casas decimais, é 22,167168. Assim, todos os dígitos de N 3 (0,2) são

exactos, apesar de a aproximação original N1 (0,05) ter apenas uma casa decimal correcta.

Uma vez que cada coluna depois da primeira na tabela de extrapolação é obtida por um processo
simples de média, a técnica pode produzir aproximações de ordem superior a um custo mínimo em
cálculos. Porém, à medida que k cresce, o erro de aproximação em N1(h/2k) geralmente irá crescer
porque a instabilidade da diferenciação numérica está relacionada com o tamanho da variação h/2k.

Na secção 4.1 discutimos ambos os métodos de três e de cinco pontos para aproximar f ( x0 ) , dados

vários valores funcionais de f. Os métodos de três pontos foram deduzidos pela diferenciação do
polinómio interpolador de Lagrange para f. Os métodos de cinco pontos podem ser obtidos de forma
similar, mas a derivação é tediosa. A extrapolação pode ser usada para deduzir estas fórmulas de
maneira mais fácil.

Suponhamos que desenvolvemos a função f até ao polinómio de Taylor de quarto grau em x0 . Então,

102
1 1 1
f ( x) = f ( x0 ) + f ( x0 )( x − x0 ) + f ( x0 )( x − x0 ) 2 + f ( x0 )( x − x0 ) 3 + f IV
( x0 )( x − x0 ) 4
2 6 24 para
1 V
+ f ( )( x − x0 ) 5
120
algum número  entre x e x0. Calculando f em x0 + h e x0 − h tem-se
1 1 1 1 V
f ( x0 + h) = f ( x0 ) + f ( x0 ) h + f ( x0 ) h 2 + f ( x0 ) h 3 + f IV
( x0 ) h 4 + f (1 ) h 5 (4.16) e
2 6 24 120
1 1 1 1 V
f ( x 0 − h) = f ( x 0 ) − f ( x 0 ) h + f ( x 0 ) h 2 − f ( x0 ) h 3 + f IV
( x0 ) h 4 − f ( 2 ) h 5 (4.17)
2 6 24 120
Onde x0 − h   2  x0  1  x0 + h . Subtraindo a Eq. (4.17) da Eq. (4.16) obtém-se

 
3 5
h h
f ( x0 + h) − f ( x0 − h) = 2h f ( x0 ) + f ( x0 ) + f V (1 ) + f V ( 2 ) . (4.18)
3 120
Se f V é contínua em x0 − h , x0 + h , do Teorema do Valor Intermédio resulta que existe um número
~ ~ 1
2
 
 em x0 − h ; x0 + h , tal que f V ( ) = f V (1 ) + f V ( 2 ) . Em consequência disso, a Eq. (4.18) pode
ser resolvida em ordem a f ( x0 ) para dar a aproximação de O(h2) seguinte:
2 4
f ( x0 ) =
1
 f ( x0 + h) − f ( x0 − h) − h f ( x0 ) − h f V (~) . (4.19)
2h 6 120

103
Tabela 4.6
N1 (0,2) = 22,414160
N 1 (0,1) − N 1 (0,2)
N1 (0,1) = 22,228786 N 2 (0,2) = N 1 (0,1) + = 22,166995
3
N (0,05) − N 1 (0,1) N 2 (0,1) − N 2 (0,2)
N1 (0,05) = 22,182564 N 2 (0,1) = N 1 (0,05) + 1 = 22,167157 N 3 (0,2) = N 2 (0,1) + = 22,167168
3 15
Embora a aproximação na Eq. (4.19) seja a mesma dada na fórmula de três pontos da Eq. (4.5), o ponto de cálculo desconhecido ocorre
agora em f V em vez de ocorrer em f  . A extrapolação leva vantagem disto através da substituição de h na Eq. (4.19) por 2h, para gerar a
fórmula
2 4
f ( x0 ) =
1
 f ( x0 + 2h) − f ( x0 − 2h) − 4h f ( x0 ) − 16h f V (ˆ) (4.20)
4h 6 120
Onde ˆ está entre x0 + 2h e x0 − 2h .
Multiplicando a Eq. (4.19) por 4 e subtraindo disso a Eq. (4.20) obtém-se
4
2
3 f ( x0 ) = f ( x0 + h) − f ( x0 − h) − 1  f ( x0 + 2h) − f ( x0 − 2h) − h f V (~) + 2h f V (ˆ) .
h 4h 30 15
for contínua em x0 − 2h , x0 + 2h, um método alternativo pode ser usado para mostrar que f V ( ) e f V (ˆ) podem ser substituídos
~
Se f V
por um valor comum, f V ( ) . Usando este resultado e dividindo-o por 3 gera-se a fórmula dos cinco pontos
4
f ( x0 ) =
1
 f ( x0 − 2h) − 8 f ( x0 − h) + 8 f ( x0 + h) − f ( x0 + 2h) + h f V ( ) , que é a fórmula dada como Eq. (4.6). Outras fórmulas para a
12h 30
primeira derivada e outras de ordem superior podem ser deduzidas de maneira similar. Algumas destas são tratadas nos exercícios.
A técnica de extrapolação é muito usada ao longo desta disciplina. As aplicações mais proeminentes ocorrem na aproximação de integrais,
na secção 4.5 e na determinação de soluções aproximadas de equações diferenciais, na secção 5.8.

104
Exercícios (4.2):
1. Aplique o processo de extrapolação descrito no Exemplo 1 para determinar N3(h), uma
aproximação de f ( x0 ) , para as seguintes funções e tamanhos dos acréscimos.

a) f ( x) = ln x , x0 = 1,0 , h = 0,4 b) f ( x) = x + e x , x0 = 0,0 , h = 0,4

c) f ( x) = 2 x sin x , x0 = 1,05 , h = 0,4 d) f ( x) = x 3 cos x , x0 = 2,3 , h = 0,4


2. Acrescente uma outra linha à tabela de extrapolação do exercício 1 para obter a aproximação N4(h).
3. Repita o exercício 1 usando a aritmética de arredondamento a 4 dígitos.
4. Repita o exercício 2 usando a aritmética de arredondamento a 4 dígitos.

5. Os seguintes dados fornecem aproximações do integral M =  sin x dx .
0

N1 (h) = 1,570796 h h h


N 1   = 1,896119 N 1   = 1,974232 N 1   = 1,993570
2 4 8
Assumindo que M = N1 (h) + K1h 2 + K 2 h 4 + K 3 h 6 + K 4 h 8 + O(h10 ) , construa uma tabela de
extrapolação para determinar N4(h).
3
2
6. Os seguintes dados podem ser usados para aproximar o integral M =  cos x dx
0

N1 (h) = 2,356194 h h h


N 1   = −0,4879837 N 1   = −0,8815732 N 1   = −0,9709157
2 4 8
Assuma que existe uma fórmula do tipo da dada no exercício 5 e determinar N4(h).
7. Mostre que a fórmula de cinco pontos na Eq. (4.6) aplicada a f ( x) = xe x em x0 = 2,0 dá N2(0,2) na
tabela 4.6 quando h = 0,1 e N2(0,1) quando h = 0,05.

105
4.3. Elementos de Integração Numérica
A necessidade muitas vezes ocorre quando se pretende calcular o integral definido de uma função que
não tem uma primitiva explicitam ou cuja primitiva não é fácil de se obter. O método básico envolvido
b n
na aproximação de  f ( x) dx chama-se quadratura numérica. Ela usa a soma a
i =0
i f ( xi ) para
a

b
aproximar  f ( x) dx .
a

Os métodos de quadratura desta secção são baseados em interpolações polinomiais dadas no capítulo 3.
Primeiro escolhemos um conjunto de pontos distintos x0 , , xn  do intervalo [a, b]. Depois
n
integramos o polinómio interpolador de Lagrange Pn ( x) =  f ( xi ) Li ( x) e o seu erro de truncatura em
i =0

[a, b] para obter

f ( n +1) ( ( x))
b b n b n

 f ( x) dx =   f ( xi ) Li ( x) dx +   ( x − xi )
n b
dx =  a i f ( xi ) + 1  f ( n +1) ( ( x)) dx
a a i =0 a i =0
(n + 1)! i =0 (n + 1)! a

b
Onde (x) está em [a, b] para qualquer x e ai =  Li ( x) dx , para todo i = 0, 1, ..., n.
a

b n
A fórmula de quadratura, por conseguinte, é  f ( x) dx   ai f ( xi ) , com o erro dado por
a i =0

b n
1
E( f ) =  ( x − xi ) f
(n + 1)! a i =0
( n +1)
( ( x)) dx .

Antes de discutir a situação geral das fórmulas de quadraturas, vamos considerar as fórmulas geradas
com auxílio dos polinómios de Lagrange de primeiro e segundo graus, com pontos igualmente
espaçados, que são a regra do trapézio e a regra de Simpson e são introduzidas normalmente em
cursos de cálculo...

Def. 4.1 O grau de exactidão ou precisão de uma fórmula de quadratura é o maior inteiro positivo n
para o qual a fórmula é exacta para xk, com k = 0, 1, ..., n.

A definição 4.1 implica que as regras do Trapézio e de Simpson têm graus de precisão um e três,
respectivamente.

106
Integração e somas são operações lineares, isto é,

b b b

 ( f ( x) +  g ( x)) dx =   f ( x) dx +   g ( x) dx
a a a

e
n n n

 ( f ( xi ) +  g ( xi )) =   f ( xi ) +   g ( xi ) ,
i =0 i =0 i =0

Para cada par de funções integráveis f e g e cada par de constantes reais  e . Isto implica que que o
grau de precisão de uma fórmula de quadratura é n se e somente se o erro E(P(x)) = 0 para todos os
polinómios P(x) de grau k = 0, 1, ..., n, mas E(P(x))  0 para alguns polinómios de grau n + 1.

As fórmulas do Trapézio e de Simpson são exemplos de uma classe de métodos conhecida como
fórmulas de Newton-Cotes. Há dois tipos de fórmulas de Newton-Cotes, as abertas e as fechadas. A
fórmula fechada de Newton-Cotes de (n+1) pontos usa xi = x0 + ih , para i = 0, 1, ... , n, onde

x0 = a , xn = b e h = (b − a) / n . Chama-se fechada porque os pontos das extremidades de [a, b] estão


b n
incluídos nos cálculos. A fórmula assume a forma  f ( x) dx   ai f ( xi ) , onde
a i =0

xn xn n
(x − x j )
ai =  Li ( x) dx =
x0
  (x
x0 j = 0 i − xj)
dx .
j i

Algumas das fórmulas fechadas de Newton-Cotes com os respectivos termos de erro são as seguintes:

n = 1 (Regra do Trapézio) com x0    x1 :


b x1 3

 f ( x) dx =  f ( x) dx =
h
 f ( x0 ) + f ( x1 ) − h f ( ) . (4.23)
a x0
2 12

n = 2 (Regra de Simpson) com x0    x2 :


b x2 5

 f ( x) dx =  f ( x) dx =
h
 f ( x0 ) + 4 f ( x1 ) + f ( x2 ) − h f IV ( ) . (4.24)
a x0
3 90

107
n = 3 (Regra Três Oitavos de Simpson), com x0    x3 :
b x3
3h 5
f ( x) dx =  f ( x) dx =  f ( x 0 ) + 3 f ( x1 ) + 3 f ( x 2 ) + f ( x3 ) −
3h
 ( ) .
IV
f (4.25)
a x0
8 80

n = 4 com x0    x3 :
b x3 7

 f ( x) dx =  f ( x) dx =
2h
7 f ( x0 ) + 32 f ( x1 ) + 12 f ( x 2 ) + 32 f ( x3 ) + 7 f ( x 4 ) − 8h f VI ( ) . (4.26)
a x0
45 945

As fórmulas abertas de Newton-Cotes usam os pontos xi = x0 + ih , para i = 0, 1, ... , n, onde


x0 = a + h , xn = b − h e h = (b − a) /(n + 2) . Assim, rotulamos os pontos extremos com x−1 = a e
xn+1 = b . As fórmulas abertas contêm todos os pontos usados para a aproximação dentro do intervalo
]a, b[...
Algumas das fórmulas abertas de Newton-Cotes com os respectivos termos de erro são as seguintes:
b x1
h3
n = 0 (Regra do ponto médio): a
f ( x) dx =  f ( x) dx =2hf ( x0 ) +
x−1
3
f ( ) . (4.27) com

x −1    x1
b x2 5
n = 1:  f ( x) dx =  f ( x) dx =
3h
 f ( x0 ) + f ( x1 ) + 3h f IV
( ) , onde x−1    x2 . (4.28)
a x −1
2 4
b x3 5
n = 2:  f ( x) dx =  f ( x) dx =
4h
2 f ( x0 ) − f ( x1 ) + 2 f ( x 2 ) + 14h f IV
( ) , com x−1    x3 .
a x −1
3 45
(4.29)
b x4 5
n = 3:  f ( x) dx =  f ( x) dx =
5h
11 f ( x0 ) + f ( x1 ) + f ( x 2 ) + 11 f ( x3 ) + 95h f IV
( ) , (4.30)
a x −1
24 144

onde x0    x3 .

108
Exercícios (4.3):
1. Aproxime os seguintes integrais usando a regra do Trapézio:
1 0,5 1, 5
2
x 0 x − 4 dx x
4 2
a) dx b) c) ln x dx
0,5 1
1 1, 6 0 , 35
2x 2
x e 1 x 2 − 4 dx 
2 −x
d) dx e) f) dx
0 0 x −42

 
4 4

 x sin x dx e
3x
g) h) sin 2 x dx
0 0

2. Ache um raio de delimitação do erro no exercício 1, usando a fórmula do erro e compare-o com o
erro efectivo.
3. Repita o exercício 1 usando a regra de Simpson.
4. Repita o exercício 2 usando a regra de Simpson e os resultados do exercício 3.
5. Repita o exercício 1 usando a regra do ponto médio.
6. Repita o exercício 2 usando a regra do ponto médio e os resultados do exercício 5.
2
7. A regra do Trapézio, aplicada a  f ( x) dx dá o valor 4 e a regra de Simpson dá o valor 2. Qual é o
0

valor de f(1)?
2
8. A regra do Trapézio, aplicada a  f ( x) dx dá o valor 5 e a regra do ponto médio dá o valor 4. Que
0

valor produz a regra de Simpson?


1
9. A fórmula de quadratura  f ( x) dx = c
−1
0 f (−1) + c1 f (0) + c2 f (1) é exacta para todos os polinómios

de grau igual ou inferior a 2. Determine c0, c1 e c2.


2
10. A fórmula de quadratura  f ( x) dx = c
0
0 f (0) + c1 f (1) + c 2 f (2) é exacta para todos os polinómios de

grau igual ou inferior a 2. Determine c0, c1 e c2.


11. Aproxime os seguintes integrais usando as fórmulas de (4.23) e (4.30). As exactidões são
consistentes com as fórmulas de erro? Qual de entre (d) e (e) fornece melhor aproximação?

0 ,1 1, 5
2
 1 + x dx
 (sin x) dx e
x
a) b) 2 c) dx
0 1,1
0
10 5, 5 10 1 1
1 1 1
d)  dx
1
x
e) 1 x dx + 5,5 x dx f) x 3
dx
0

109
4.4. Integração Numérica Composta
As fórmulas de Newton-Cotes geralmente não são exequíveis em intervalos de integração grandes. São
necessárias fórmulas de mais alto grau, cujos coeficientes são difíceis de se obter. As fórmulas de
Newton-Cotes são, também, baseadas em polinómios interpoladores que usam pontos igualmente
espaçados, procedimento incorrecto em intervalos grandes, por causa da natureza oscilatória dos
polinómios de graus mais altos. Nesta secção discutiremos uma aproximação parcelada da integração
numérica que usa fórmulas de Newton-Cotes de ordem inferior. Estas são as técnicas aplicadas com
maior frequência.

4
Consideremos a busca de uma aproximação de  e x dx . A regra de Simpson, com h = 2 dá
0

4
2 0
e dx  (e + 4e 2 + e 4 ) = 56,76958
x

0
3

Uma vez que a resposta exacta neste caso é e 4 − e 0 = 53,59815, o erro –3,17143 é demasiadamente
grande em relação ao que é normalmente aceitável.

Para aplicar uma técnica parcelada para este problema, dividimos [0, 4] em [0, 2] e [2, 4] e usamos a
regra de Simpson duas vezes, com h = 1. Isto dá

4 2 4
1 0 1 2 1 0
0 e dx = 0 e dx + 2 e dx  3 (e + 4e + e ) + 3 (e + 4e + e ) = 3 (e + 4e + 2e + 4e + e ) = 53,863850.
x x x 2 3 4 2 3 4

O erro reduziu para –0,26570. Encorajados pelos nossos resultados, subdividimos os intervalos [0, 2] e
[2, 4] e usamos a regra de Simpson com h = ½, dando
4 1 2 3 4

 e dx =  e dx +  e dx +  e dx +  e dx
x x x x x

0 0 1 2 3
1 3 5 7
1 1 1 1
 (e 0 + 4e + e) + (e + 4e + e 2 ) + (e 2 + 4e 2 + e 3 ) + (e 3 + 4e 2 + e 4 )
2 2
6 6 6 6
1 3 5 7
1
= (e 0 + 4e 2 + 2e + 4e 2 + 2e 2 + 4e 2 + 2e 3 + 4e 2 + e 4 ) = 53,61622
6
O erro para esta aproximação é –0,01807.
Para generalizar este procedimento, escolhemos um inteiro n. Subdividimos o intervalo [a, b] em n sub-
intervalos e aplicamos a regra de Simpson em cada para consecutivo de sub-intervalos. Com h = (b –
a)/n e xj = a + jh, para cada j = 0, 1, ..., n, temos
110
n / 2 x2 j
h 
 
b n/2
h5
 f ( x) dx =   f ( x) dx =   f ( x 2 j − 2 ) + 4 f ( x 2 j −1 ) + f ( x 2 j ) − f IV
( j ) ,
a j =1 x2 j − 2 j =1  3 90 

Para algum j com x2 j −2   j  x2 j desde que f  C 4 a , b. Usando o facto de que, para cada j = 1, 2,

..., n/2-1, temos f(x2j) aparecendo no termo correspondente, ao intervalo [x2j–2 , x2j] e também que o
termo correspondente ao intervalo [x2j , x2j+2], podemos reduzir esta soma a

h n / 2 −1  h5 n / 2
b n/2

 f ( x) dx =  f ( x0 ) + 2  f ( x 2 j ) + 4 f ( x2 j −1 ) + f ( x n ) −  f ( j ) .
IV

a
3 j =1 j =1  90 j =1
h5 n / 2
O erro associado a esta aproximação é E ( f ) = f
90 j =1
IV
( j ) , onde x2 j −2   j  x2 j , para cada j = 1,

2, ..., n/2...
Teorema 4.4 Sejam f  C 4 a , b, n par, h = (b – a)/n e xj = a + jh, para cada j = 0, 1, ..., n. Então

existe um   ]a, b[ para o qual a regra composta de Simpson para n sub-intervalos pode ser escrita
com o seu termo de erro como

h n / 2 −1  b−a 4
b n/2

 f ( x) dx = 
3
f ( x 0 ) + 2  f ( x 2j ) + 4 f ( x2 j −1 ) + f ( xn ) − h f IV
( ) . 
a j =1 j =1  180

Teorema 4.5 Sejam f  C 2 a , b, n par, h = (b – a)/n e xj = a + jh, para cada j = 0, 1, ..., n. Então

existe um   ]a, b[ para o qual a regra composta do Trapézio para n sub-intervalos pode ser escrita
com o seu termo de erro como

h n −1  b−a 2
b

 f ( x) dx =  f (a) + 2 f ( x j ) + f (b) − h f (  ) . 


a
2 j =1  12
Teorema 4.6 Sejam f  C 2 a , b, n par, h = (b – a)/(n+2) e xj = a + (j+1)h, para cada j = 0, 1, ..., n+1.

Então existe um   ]a, b[ para o qual a regra composta do Ponto Médio para n + 2 sub-intervalos
pode ser escrita com o seu termo de erro como

b−a 2
b n/2

 f ( x) dx = 2h f ( x 2 j ) + h f (  ) . 
a j =0 6

111
Exercícios (4.4):
1. Use a regra do Trapézio composta, com os valores de n indicados, para aproximar os seguintes
integrais:
2 2 2
2
 x ln x dx , n=4  x e dx , n=4 x n=6
3 x
a) b) c) dx ,
1 −2 0
2
+4
 2 3
x
 x cos x dx , n=6  e sin 3x dx , n=8 x n=8
2
2x
d) e) f) dx ,
0 −2 1
2
+4
5 3
1
g)  dx , n=8 8

3 x2 − 4 h)  tan x dx ,
0
n=8

2. Use a regra de Simpson composta, para aproximar os integrais do exercício 1.


3. Use a regra do Ponto Médio composta, para aproximar os integrais do exercício 1.
2

x e
2 − x2
4. Aproxime dx , com h = 0,25, usando:
0
a) A regra do Trapézio composta.
b) A regra de Simpson composta.
c) A regra do Ponto Médio composta.
5. Suponha que f (0) = 1, f (0,5) = 2,5 , f (1) = 2 e f (0,25) = f (0,75) =  . Ache o valor de , para
1
o qual a regra do Trapézio composta, com n = 4, dá o valor 1,75 para  f ( x) dx .
0

1
6. Na aproximação de  f ( x) dx , regra do Ponto Médio dá 12, a regra do Ponto Médio composta, com
−1
n = 2, dá 5 e a regra de Simpson dá 6. Use o facto de que f (−1) = f (1) e f (−0,5) = f (0,5) − 1 para
determinar f (−1) , f (−0,5) , f (0) , f (0,5) e f (1) .

112
4.5. Integração de Romberg
A integração de Romberg usa a regra do Trapézio composta para dar aproximações preliminares e
depois aplica o processo de extrapolação de Richardson para melhorar as aproximações.

Para começar a apresentação do esquema de integração de Romberg, lembremo-nos que a regra do


Trapézio composta para aproximar o integral de uma função f em [a, b], usando m sub-intervalos, é

h m −1  b−a 2
b

 f ( x) dx =  f (a) + f (b) + 2 f ( xi ) − h f (  ) ,


a
2 j =1  12

b−a
onde a    b , h = e x j = a + jh , para cada j = 0, 1, ..., m.
m

Assim, primeiro obtemos aproximações através da regra do Trapézio composta, com


m1 = 1, m2 = 2 , m3 = 4 ,  e mn = 2 n−1 , onde n é um inteiro positivo. O tamanho do salto
b−a b−a
(acréscimo) hk correspondente a mk é hk = = k −1 . Com esta anotação, a regra do Trapézio
mk 2
acima torna-se

b
h   2 −1
k −1
 b − a 2
 f ( x) dx = k  f (a) + f (b) + 2  f (a + ihk )  − hk f (  k ) , (4.31)
a
2   i =1  12

onde k está em ]a, b[.

Se é introduzida a notação Rk ,1 para designar a porção da Eq. (4.31) usada para a aproximação

trapezoidal, então

R1,1 =
h1
 f (a) + f (b) = b − a  f (a) + f (b) ;
2 2

R2 , 1 =
h2
 
 f (a) + f (b) + 2 f (a + h2 ) = b − a  f (a) + f (b) + 2 f  a + b − a  = 1 R1,1 + h1 f (a + h2 ) ;
2 4   2  2

R3,1 =
1
2
R2,1 + h2  f (a + h3 ) + f (a + 3h3 );
1 
k −2
2
e, em geral (vide Figura 4.10), Rk ,1 =  Rk −1, 1 + hk −1  f (a + (2i − 1)hk ) , (4.32)
2 i =1 
para cada k = 2, 3, ..., n.

113
Exemplo 1: Usando a Eq. (4.32) para executar o primeiro passo do esquema de integração de Ronberg

de aproximação de  sin x dx , com n = 6, obtém-se as seguintes equações:
0


R1,1 = sin 0 + sin   = 0 ;
2
1 
R2, 1 =  R1, 1 +  sin  = 1,57079633;
2 2

1   3 
R3, 1 =  R2, 1 +  sin + sin  = 1,89611890;
2 2 4 4 

1   3 5 7 
R4 , 1 =  R3,1 +  sin + sin + sin + sin  = 1,97423160;
2 4 8 8 8 8 
R5,1 = 1,99357034 e R6,1 = 1,99839336.
Uma vez que o valor correcto para o integral do exemplo 1 é 2, a convergência é lenta. A extrapolação
de Richardson será usada para acelerar a convergência.

Pode mostrar-se, embora não tão facilmente (vide [RR, pp. 136 – 138]), que se f  C  a , b , a regra
do Trapézio composta pode ser escrita com um termo de erro alternativo na forma
b  

 f ( x) dx − Rk ,1 =  K i hk2i = K1 hk2 +  K i hk2i , (4.33)


a i =1 i =2

Onde cada Ki é independente de hk e depende só de f ( 2i−1) (a) e f ( 2i−1) (b) .


Com a regra do Trapézio composta nesta forma, podemos eliminar o termo que envolve hk2 ,
h2
combinando esta equação com a sua contraparte que tem hk substituído por hk +1 = , dando
2
 
b
K i hk2i K1 hk2  K i hk2i
 f ( x) dx − Rk +1,1 =  K i hk2+i 1 =  = + . (4.34)
a i =1 i =1 2 2i 4 i =2 4

Subtraindo Eq. (4.33) do quádruplo da Eq.(4.34) e simplificando obtém-se a fórmula O(hk4 )


b
 Rk +1,1 − Rk ,1   K i  hk2i   K  1 − 4 i −1  2i
 f ( x) dx −  Rk +1,1 + =  i −1 − hk2i  =  i  i −1 hk .
a  3  i =2 3 4  i =2 3  4 
Mais uma extrapolação pode ser aplicada a esta fórmula para se obter um resultado O(hk6 ) e assim por

Rk ,1 − Rk −1,1
diante. Para simplificara anotação definimos Rk , 2 = Rk ,1 + , para cada k = 2, 3, ..., n, e
3
aplicamos o procedimento da extrapolação de Richardson para esses valores. Continuando esta

114
anotação, temos, para cada k = 2, 3, ..., n e j = 2, 3, ..., k, uma fórmula de aproximação O(hk2 j ) definida

Rk , j −1 − Rk −1, j −1
por Rk , j = Rk , j −1 + (4.35)
4 j −1 − 1

Os resultados gerados a partir destas fórmulas são mostrados na Tabela 4.9


Tabela 4.9
R1,1

R2,1 R2 , 2

R3,1 R3, 2 R3,3

R4,1 R4 , 2 R4 , 3 R4 , 4

    
Rn,1 Rn , 2 Rn , 3 Rn , 4  Rn , n

A técnica de Romberg tem a característica desejável e adicional que é de permitir que uma linha
inteiramente nova possa ser calcula e acrescida à tabela através de mais uma aplicação da regra do
Trapézio composta. Depois faz-se uma média dos valores previamente calculados para se obter os
valores seguintes na linha. O método usado para construir uma tabela deste tipo calcula os valores linha
por linha, isto é, na ordem R1,1 , R2,1 , R2, 2 , R3,1 , R3, 2 , R3, 3 , etc.

Algoritmo 4.2 (Romberg) : (Consulte Burden, p. 210)



Exemplo 2 No exemplo 1, os valores de R1,1 a R6,1 foram obtidos para aproximar  sin x dx .
0
Com o

Algoritmo 4.2, a tabela de Romberg é mostrada é ilustrada pela tabela 4.10 a seguir.

Embora sejam 21 valores na tabela, apenas os seis da primeira coluna requerem o uso da função para o
seu cálculo, uma vez serem os únicos valores gerados pela técnica de integração. Os outros valores são
obtidos por um processo de mediação.

Tabela 4.10
0
1,57079633 2,09439511
1,89611890 2,00455976 1,99857073
1,97423160 2,00026917 1,99998313 2,00000555
1,99357034 2,00001659 1,99999975 2,00000001 1,99999999
1,99839336 2,00000103 2,00000000 2,00000000 2,00000000 2,00000000

Exercícios (4.5):

115
1. Use a integração de Romberg para calcular R3,3 para os seguintes integrais:
1, 5 1 0 , 35 
2
 x ln x dx  x e dx 
2 2 −x
a) b) c) dx 4
x −4 x
2 2
1 0 0
d) sin x dx
0
 1, 6 3, 5 
2x x
4 f) 1 x 2 − 4 dx g)  dx 4

e  (cos x)
3x 2
e) sin 2 x dx 3 x −42 h) dx
0 0

2. Calcule R4, 4 para os integrais do Exercício 1.

3. Use a integração de Romberg para aproximar os integrais do Exercício 1 com erro inferior a 10 −6 .
Calcule a tabela de Romberg até Rn −1,n −1 − Rn ,n  10 −6 ou n = 10. Compare os seus resultados com
os valores exactos dos respectivos integrais.
4. Aplique a integração de Romberg aos seguintes integrais até que Rn −1,n −1 e Rn ,n sejam exactos até
10 −4 :
1


3
a) x dx
0

0,3

b)  f ( x) dx , onde
0

 x 3 + 1, 0  x  0,1

f ( x) =  1,001 + 0,03( x − 0,1) + 0,3( x − 0,1) + 2( x − 0,1) , 0,1  x  0,2
2 3

1,009 + 0,15( x − 0,2) + 0,9( x − 0,2) 2 + 2( x − 0,2) 3 , 0,2  x  0,3



5
5. Use os seguintes dados para aproximar  f ( x) dx o mais correctamente possível.
1

x 1 2 3 4 5
f(x) 2,4142 2,6734 2,8974 3,0976 3,2804
1 2
x
6. A integração de Romberg foi usada para aproximar 1+ x
0
3
dx . Se R1,1 = 0,250 e R2, 2 = 0,2315 ,

qual é o valor de R2,1 


3
7. A integração de Romberg foi usada para aproximar  f ( x) dx .
2
Se f (2) = 0,51342,

f (3) = 0,36788 e R3,1 = 0,43687 e R3,3 = 0,43662 , ache o valor de f (2,5) .


1
1
8. A integração de Romberg para aproximar  f ( x) dx dá R
0
1,1 = 4 e R2, 2 = 5 . Ache f   .
2

116
b
16 16
9. A integração de Romberg para aproximar  f ( x) dx dá
a
R1,1 = 8 , R2, 2 =
3
e R2 , 2 =
3
e

208
R3,3 = . Ache R3,1 .
45

4.6. Métodos de Quadratura Adaptativa


As fórmulas compostas requerem o uso de pontos igualmente espaçados. Isto não é adequado quando
se integra uma função num intervalo que contém zonas tanto com grande variação como com pequena
variação funcionais. Se o erro de aproximação tem que ser uniformemente distribuído, um salto mais
pequeno será necessário para as zonas de grande variação do que para as de pequena variação
funcional. Uma técnica eficiente para este tipo de problemas deve prever o número de variações
funcionais e adaptar os tamanhos dos saltos para as necessidades de variação. Estes métodos são
chamados métodos de quadratura adaptativa. O método que discutimos é baseado na regra de Simpson
composta, mas a técnica pode modificar-se facilmente para usar outros procedimentos compostos.
b
Suponhamos que queremos aproximar  f ( x) dx até uma certa tolerância є > 0. O primeiro passo no
a

b−a
procedimento é aplicar a regra de Simpson com o salto do tamanho h = (Fig. 4.11).
2
b
h5
 f ( x) dx = S (a, b) − (  ) , para algum  em (a,b),
IV
f
a
90
(4,36)

Onde S (a, b) =
h
 f (a) + 4 f (a + h) + f (b).
3
( ) . Para fazer isto,
O passo a seguir é determinar uma aproximação da exactidão que não requer f IV

b−a h
aplicamos a regra de Simpson Composta com n = 4 e o salto do tamanho h1 = = , para ter a
4 2
equação (4.37) seguinte.
h  h b−a
4
 h  3h 
b

a f ( x) dx = 6  f (a) + 4 f  a + 2  + 2 f (a + h) + 4 f  a + 2  + f (b) −  2  180 f ( ~ ) , (4.37) para


IV

algum ~ em (a,b). Para simplificar esta anotação, sejam

 a+b h   h  a+b  h   3h  
S a ,  =  f ( a ) + 4 f  a +  + f ( a + h)  e S  , b  =  f (a + h) + 4 f  a +  + f (b) .
 2  6  2   2  6  2 
Então a equação (4.37) pode ser reescrita como

117
 a+b  a + b  1  h  IV ~
b 5

a f ( x ) dx = S 

a , 
2 
+ S 
 2
, b  −   f (  ) .

 16  90 
(4.38)

A estimativa do erro é deduzida assumindo-se que  = ~ ou, mais precisamente, que


f IV ( ) = f IV (~) e o sucesso da técnica depende da exactidão desta assumpção. Se for correcta, então
equacionar os integrais nas Eq. (4.36) implica que
 a+b  a + b  1  h  IV ~
5
h 5 IV
S a ,  + S  , b  −   f (  )  S ( a , b ) − f ( ) ,
 2   2  16  90  90
assim,
h 5 IV 16   a+b  a + b 
f (  )   S ( a, b) − S  a,  − S , b  .
90 15   2   2 
Usando esta estimativa na Eq. (4.38) produz-se a estimativa do erro.
 a+b a+b  1  a+b a+b 
b

a f ( x) dx − S  a, 2  − S  2 , b   15 S (a, b) − S  a, 2  − S  2 , b  .
 a+b a+b 
b
Este resultado significa que S  a ,

 + S
2   2
, b  aproxima

 f ( x) dx cerca de 15 vezes melhor do
a
que a exactidão obtida com o valor S (a, b) . Assim, se
 a+b a+b  1
S ( a , b) − S  a ,  − S ,b   , (4.39)
 2   2  15
 a+b a+b 
b
esperamos ter  f ( x) dx − S  a,
a
 − S
2   2
,b  

(4.40)

 a+b a+b 
e assume-se que S  a ,  + S , b  seja uma aproximação suficientemente correcta de
 2   2 
b

 f ( x) dx .
a

Exemplo1: Para verificar a exactidão da estimativa do erro dada nas equações (4.39) e (4.40)

2
consideramos a sua aplicação no integral  sin x dx = 1 . Neste caso,
0

   
S  0 ,  = sin 0 + 4 sin + sin  =
 
( )
2 2 + 1 = 1.002279878 e
 2 4 4 2  12
         3 
S  0 ,  + S  ,  = 8 sin 0 + 4 sin + 2 sin + 4 sin + sin  = 1.000134585, Assim,
 4 4 2 3 8 4 8 2
1       
S  0 ,  − S  0 ,  − S  ,  = 0.000143020. Isto está muito perto do erro efectivo de
15  2   4 4 2
aproximação,

118

2

 sin x dx − 1.000134585 = 0.000134585, embora (sin x ) = sin x varie significativamente no


IV

 
intervalo 0 ,  .
 2
Quando as aproximações em (4.39) diferem em mais de 15, aplicamos a regra de Simpson de forma
 a + b a + b 
individualizada nos intervalos a , e , b . Depois usamos o procedimento da estimativa
 2   2 
do erro para determinar se a aproximação do integral em cada sub-intervalo está dentro da tolerância de

b
. Se sim, adicionamos as aproximações para produzir uma aproximação de  f ( x) dx que está dentro
2 a

da tolerância .

Se a aproximação nalgum dos sub-intervalos falha estar dentro da tolerância , este sub-intervalo é
2
por sua ves subdividido e o procedimento é reaplicado nestes dois novos sub-intervalos, para

determinar se a aproximação em cada sub-intervalo é correcta dentro da tolerância . Este
4
procedimento de reduzir à metade é repetido até que cada porção esteja dentro da tolerância desejada.
Embora se possa criar problemas para os quais esta tolerância nunca se atinge, é regra geral que esta
técnica seja bem sucedida, porque cada nova subdivisão normalmente aumenta ou melhora a exactidão
da aproximação em 16 vezes, contra as 2 vezes inicialmente requeridas pelo procedimento.
Algoritmo 4.3 (Quadraturas adaptativas) : (Consulte Burden, p. 216)

Exercícios (4.5):
 a+b a+b 
1. Calcule as aproximações de Simpson S (a, b) , S  a ,  e S , b  para os seguintes
 2   2 
integrais e verifique a estimativa dada na fórmula de aproximação.:
1, 5 1 0 , 35 
2
x x e 
2 2 −x
a) ln x dx b) dx c) dx 4
x −4 x
2 2
1 0 0
d) sin x dx
0
 1, 6 3, 5 
2x x
4 f) 1 x 2 − 4 dx g)  dx 4

 e sin 2 x dx  (cos x)
3x 2
e) 3 x −4
2 h) dx
0 0

2. Use a quadraturas adaptativas para achar aproximações correctas até 10 −3 para os integrais do
exercício 1. Não use programa de computador para gerar estes resultados.
3. Use a quadraturas adaptativas para achar aproximações dos seguintes integrais, correctas até 10 −5 :

119
 2 x cos 2 x − ( x − 2) dx
3 5

 e sin 3x dx
2x 2
a) b)
1 0

 4 x cos 2 x − ( x − 2) dx
3 5

e
3x 2
c) sin 2 x dx d)
1 0

4. Use a regra de Simpson Composta com n = 4, 6, 8, …, até que aproximações sucessivas dos
seguintes integrais fiquem correctas até 10 −6 . Determine o número de pontos necessário. Use o
algoritmo de quadraturas adaptativas para aproximar o integral com exactidão de até 10 −6 e conte
o número de pontos. A quadratura adaptativa produz alguma melhoria
   

 x cos x  x sin x x x
2 2 2 2
a) dx b) dx c) cos x dx d) sin x dx
0 0 0 0

4.7. Quadratura de Gauss


As fórmulas de Newton-Cotes da secção 4.3 foram deduzidas através da integração de polinómios
interpoladores. Uma vez que o termo de erro no polinómio interpolador de grau n envolve a (n+1)-
ésima derivada da função que está sendo aproximada, uma fórmula deste tipo é exacta quando se
aproxima qualquer polinómio de grau igual ou inferior a n.

Todas as fórmulas de Newton-Cotes usam valores da função em pontos igualmente espaçados. Esta
restrição é conveniente quando as fórmulas são combinadas para formar as regras compostas tratadas
na secção 4.4, mas pode baixar significativamente a exactidão da aproximação. Consideremos, por
exemplo, a regra do trapézio aplicada para determinar os integrais das funções da figura 4.14.

A regra do Trapézio aproxima o integral da função integrando à função linear que junta os pontos das
extremidades do gráfico da função. Mas esta não é propriamente a melhor linha para a aproximação do
integral. Linhas do tipo das mostradas na figura 4.15 dão melhores aproximações na maioria dos casos.

A quadratura de Gauss escolhe pontos para calcular valores da função de forma óptima, em vez da
maneira de espaços iguais. Os pontos x1 , x2 ,, xn do intervalo a , b e os coeficientes c1 , c2 ,, cn
b n
são escolhidos para minimizar o erro esperado da aproximação  f ( x) dx   ci f ( xi ) . Para medir esta
a i =1

exactidão, assumimos que a melhor escolha destes valores é aquela que produz o resultado exacto com
a maior classe de polinómios, isto é, a escolha que produz a melhor precisão.

Os coeficientes c1 , c2 ,, cn da fórmula de aproximação são arbitrários e os pontos x1 , x2 ,, xn são

restritos apenas pelo facto de que devem situar-se no intervalo de integração a , b . Isto dá-nos 2n

120
parâmetros para escolher. Se os coeficientes de um polinómio são considerados parâmetros, a classe de
polinómios de grau 2n – 1 no máximo também contém 2n parâmetros. Esta é, então, a maior classe de
polinómios para os quais é razoável esperar que a fórmula seja exacta. Com a escolha apropriada de
valores e constantes pode se conseguir exactidão neste conjunto.

Para ilustrar o procedimento da escolha dos parâmetros apropriados vamos mostrar como se
seleccionam os coeficientes e os pontos quando n = 2 e o intervalo de integração é − 1, 1 . Depois
iremos discutir a situação mais geral para uma escolha arbitrária de pontos e coeficientes e mostrar
como a técnica é modificada quando se integra num intervalo arbitrário.

Suponhamos que queremos determinar c1 , c 2 , x1 e x 2 de maneira que a fórmula de integração


1

 f ( x) dx  c
−1
1 f ( x1 ) + c2 f ( x2 ) dê o resultado exacto sempre que f (x) é um polinómio de grau é igual

ou inferior a 2×2 – 1 = 3, isto é, quando f ( x) = a0 + a1 x + a2 x 2 + a3 x 3 , para alguma colecção de

constantes a0, a1, a2 e a3 . Porque  (a 0 + a1x + a2 x 2 + a3 x3 ) dx = a0  dx + a1  x dx + a 2  x 2 dx + a3  x 3 dx ,

isto equivale a mostrar que a fórmula dá resultado exacto quando f (x) é 1, x, x 2 e x 3 . Assim,
1 1
precisamos de c1 , c 2 , x1 e x 2 de maneira que c1 + c2 =  dx = 2 , c1 x1 + c2 x2 =  x dx = 0 ,
−1 −1

1 1
2
c1 x12 + c2 x22 =  x 2 dx = e c1 x13 + c2 x23 =  x 3 dx = 0 . Um pouco de álgebra pode mostrar que este
−1
3 −1

3 3
sistema de equações tem uma única solução c1 = c 2 = 1, x1 = − e x2 = , que produz a fórmula
3 3
1
− 3  3
de aproximação −1 f ( x ) dx  f  
 3 + f 
3
 . Esta fórmula tem o grau de precisão 3, isto é, produz

   
resultados exactos para qualquer polinómio de grau igual ou inferior a 3.

Esta técnica podia ser usada para determinar os pontos e coeficientes das fórmulas que produzem
resultados exactos para polinómios de grau superior, mas há um método alternativo que os obtém mais
facilmente. Nas secções 8.2 e 8.3 vamos considerar várias colecções de polinómios ortogonais, funções
que têm a propriedade de que um integral definido particular do produto de quaisquer dois deles é 0. O
conjunto relevante para o nosso problema é o dos polinómios de Legendre, uma colecção
P0 ( x) , P1 ( x) , , Pn ( x) , , com as propriedades:

121
1. Para qualquer n, Pn (x) é um polinómio de grau n.

1
2.  P( x) P ( x) dx = 0 sempre que P(x) seja um polinómio de grau inferior a n.
−1
n

1
Os primeiros poucos polinómios de Legendre são P0 ( x) = 1 , P1 ( x) = x , P2 ( x) = x 2 − ,
3
3 6 3
P3 ( x) = x 3 − x e P4 ( x) = x 4 − x 2 + .
5 7 35
Os zeros destes polinómios são distintos, estão no intervalo − 1, 1 , são simétricos e, o mais
importante, são a escolha correcta para determinar os parâmetros que resolvem o nosso problema.

Os pontos x1 , x2 ,, xn necessários para produzir uma fórmula de aproximação do integral que dá o

resultado exacto para qualquer polinómio de grau inferior a 2n são os zeros do polinómio de Legendre
de grau n. Isto é regulado pelo seguinte resultado.

Teor. 4.7: Suponhamos que x1 , x2 ,, xn são zeros do polinómio Pn (x) de Legendre de grau n e que
1 n x − xj
para cada i = 1, 2, , n , os números ci estão definidos por ci =  x
−1 j =1 i − xj
dx .
j i

1 n
Se P(x) é qualquer polinómio de grau inferior a 2n, então,  P( x) dx =  ci P( xi ) .
−1 i =1

As constantes ci necessárias para a regra de quadratura podem ser geradas a partir da equação do

teorema 4.7, mas essas constantes e os zeros dos polinómios de Legendre estão extensivamente
tabelados. A tabela 4.11 lista estes valores para n = 2, 3, 4 e 5. Outros podem ser encontrados em [StS].

b
Um integral  f ( x) dx num intervalo a , b arbitrário pode ser transformado num integral em − 1, 1
a

2x − a − b
 x = (b − a)t + a + b .
1
usando a mudança de variáveis (vide Fig. 4.16): t =
b−a 2

Isto permite que a quadratura de Gauss seja aplicada para qualquer intervalo a , b , uma vez que

 (b − a)t + (a + b)  (b − a)
b 1


a
f ( x) dx =  f 
−1
2

 2
dt . (4.42)

122
Tabela 4.11
n Zeros rn , i Coeficientes c n , i
2 0.5773502692 1.0000000000
-0.5773502692 1.0000000000
3 0.7745966692 0.5555555556
0.0000000000 0.8888888889
-0.7745966692 0.5555555556
4 0.8611363116 0.3478548451
0.3399810436 0.6521451549
-0.3399810436 0.6521451549
-0.8611363116 0.3478548451
5 0.9061798459 0.2369268850
0.5384693101 0.4786286705
0.0000000000 0.5688888889
-0.5384693101 0.4786286705
-0.9061798459 0.2369268850

Figura 4.16
1.5

e
− x2
Exemplo 1: Considere o problema de encontrar aproximações de dx . A tabela 4.12 lista os
1

valores das fórmulas de Newton-Cotes dadas na secção 4.3. O valor exacto para este integral com
exactidão de sete casas decimais é 0.10936.

n 0 1 2 3 4
Fórmulas fechadas 0.1183197 0.1093104 0.1093404 0.1093643
Fórmulas abertas 0.1048057 0.1063473 0.1094116 0.1093971
O procedimento da quadratura de Gauss aplicada neste problema requer que o integral seja
primeiramente transformado num problema cujo intervalo de integração seja − 1, 1 . Usando a equação
(4.42) temos

1.5 1
1
e dx =  e ( −(t +5) / 16) dt
− x2 2

1
4 −1

Os valores da tabela 4.11 dão as seguintes aproximações da quadratura de Gauss para este problema:

 
1.5
1 −(5+0.5773502692)2 / 16
e
− x2
dx  + e −(5−0.5773502692) / 16 = 0.1094003;
2
n = 2: e
1
4

n = 3:

123
1.5
1
e
− x2
dx  [( 0.5555555556)e −(5+ 0.7745966692) / 16 + (0.8888888889)e −(5) / 16
2 2

1
4
+ (0.5555555556)e −( 5−0.7745966692) ] = 0.1093642.
2
/ 16

Para mais comparações, os valores obtidos usando-se o procedimento de Romberg, com n = 4, estão
listados na tabela 4.13.

Tabela 4.13
0.1183197
0.1115627 0.1093104
0.1099114 0.1093610 0.1093643
0.1095009 0.1093641 0.1093643 0.1093643

Exercícios (4.5):
1. Aproxime os seguintes integrais usando a quadratura de Gauss com n = 2 e compare os seus
resultados com os valores exactos dos integrais.
1.5 1

 x ln x dx x e
2 2 −x
a) b) dx
1 0
0.35 1.6 3.5
2 2x x
c)  dx d)  2 dx e)  dx
x −4 1 x −4
2
0 3 x −4
2

 /4  /4  /4

 x sin x dx  e sin 2 x dx  (cos x)


2 3x 2
f) g) h) dx
0 0 0

2. Repita o exercício 1 com n = 3.


3. Repita o exercício 1 com n = 4.
4. Repita o exercício 1 com n = 5.
5. Determine as constantes a, b, c e d que produzem a seguinte fórmula de quadratura com grau de
1
precisão 3:  f ( x) dx = a f (−1) + b f (1) + c f (−1) + d f (1) .
−1

6. Determine as constantes a, b, c, d e e que produzem a seguinte fórmula de quadratura com grau de


1
precisão 4:  f ( x) dx = a f (−1) + b f (0) + c f (1) + d f (−1) + ef (1) .
−1

124
4.8. Integrais Múltiplos
As técnicas discutidas nas secções anteriores podem ser modificadas de uma maneira directa para uso

na aproximação de integrais múltiplos. Considere o integral duplo  f ( x, y )dA , onde


R

R = ( x, y ) a  x  b , c  x  d , para algumas constantes a, b, c e d, é uma região rectangular num

plano. Vamos utilizar a regra de Simpson Composta para ilustrar a técnica de aproximação, embora
qualquer outra regra composta pudesse ser usada no seu lugar.

Para se aplicar a regra de Simpson composta, dividimos a região R, particionando tanto [a, b] como [c,
d] num número par de sub-intervalos. Para simplificar a noção, escolhemos números pares n e m e
particionamos [a, b] e [c, d] com pontos igualmente espaçados x0 , x1 , , xn e y0 , y1 , , ym

b−a d −c
respectivamente. Estas subdivisões determinam os tamanhos dos saltos h = e k= .
n m
b
d 
Escrevendo o integral duplo como o integral iterado 
R
f ( x, y )da =    f ( x, y ) dy  dx , primeiro
ac 
d
usamos a regra de Simpson Composta para aproximar  f ( x, y) dy , tratando x como uma constante.
c

Seja y j = c + jk , para cada j = 0, 1, …, m. Então,

 m
−1
m

 − d − c k 4  f ( x,  ) , para algum 
d 4
k 2 2

c f ( x, y ) dy =
3
f ( x , y 0 ) + 2 
j =1
f ( x , y 2j ) + 4j =1
f ( x , y 2 j −1 ) + f ( x , y )
m 
180 y 4
 
em (c, d). Assim,
 m
−1
m

d − c 4  4 f ( x,  )
b d
k
f ( x, y 0 ) + 2 f ( x, y 2 j ) + 4 f ( x, y 2 j −1 ) + f ( x, y m ) −
2 2

 f ( x, y ) dy dx =
3 j =1 j =1
 180
k
y 4
A regra
a c
 

de Simpson Composta é utilizada agora para os integrais desta equação. Seja xi = a + ih , para cada i =

0, 1, …, n. Então, para cada j = 0, 1, …, m, temos

 n
−1
n

b − a 4  f ( j , y j )
b 4
h 2 2

a f ( x, y j ) dx = 3  f ( x0 , y j ) + 2
i =1
f ( x 2i , y j ) + 4 f ( x 2i −1 , y j ) + f ( x n , y j ) −
i =1
 180
h
x 4
para
 
algum j em (a, b). A aproximação resultante tem a forma

125
hk  ( n / 2 ) −1

b d n/2

 f ( x, y ) dy dx  
9 
f ( x 0 , y 0 ) + 2  f ( x 2i , y 0 ) + 4  f ( x 2i −1 , y 0 ) + f ( x n , y 0 )
a c i =1 i =1 
( m / 2 ) −1 ( m / 2 ) −1 ( n / 2 ) −1 ( m / 2 ) −1 n / 2 ( m / 2 ) −1

+ 2   f ( x 0 , y 2 j ) + 2   f ( x 2i , y 2 j ) + 4   f ( x 2i −1 , y 2 j ) +  f ( x n , y 2 j 
 j =1 j =1 i =1 j =1 i =1 j =1 
 m / 2 m / 2 ( n / 2 ) −1 m / 2 n / 2 m / 2 
+ 4   f ( x 0 , y 2 j −1 ) + 2   f ( x 2i , y 2 j −1 ) + 4  f ( x 2i −1 , y 2 j −1 ) +  f ( x n , y 2 j −1 )
 j =1 j =1 i =1 j =1 i =1 j =1 
 ( n / 2 ) −1 n/2

+  f ( x 0 , y m ) + 2  f ( x 2i , y m ) + 4 f ( x 2i −1 , y m ) + f ( x n , y m ) .
 i =1 i =1 
O termo de erro E é dado por
 4 m
−1 4
m

− k (b − a)h   f ( 0 , y 0 )
4 2  f ( , y ) 2  f ( , y
4
2 j −1 )  4 f ( m , y m ) 
E= + 2 + 4 + −
2j 2j 2j

540  x 4 j =1 x 4 j =1 x 4 x 4 
 
d − c 4  4 f ( x,  )
b
− k  dx.
180 a  y 4

4 f
Se é contínua, o Teorema do valor Intermédio pode ser repetidamente aplicado para mostrar que o
x 4
cálculo das derivadas parciais em ordem a x pode ser substituído por um valor comum e que

− k (b − a)h 4   4 f  d − c 4 b  4 f ( x,  )
E= 3m 4 ( ,  ) − k  dx ,
540  x  180 a  y 4

4 f
para algum ( ,  )  R . Se é também contínua, do Teorema do valor Médio Ponderado para os
y 4
integrais resulta que

 4 f ( x,  ) 4 f
b

a y 4 dx = (b − a )
y 4
(ˆ, ˆ ) ,

d −c
para algum (ˆ, ˆ )  R . Uma vez que m = , o termo de erro tem a forma
k

− k (b − a)h 4   4 f  (d − c)(b − a) 4  4 f
E= 3m 4 ( ,  ) − k (ˆ, ˆ )
540  x  180  y 4

ou
(d − c)(b − a)  4  4 f 4  f
4

E=−  h ( ,  ) + k (ˆ , ˆ ) ,
 x y
4 4
180 
para alguns ( ,  ) e (ˆ , ˆ ) em R.

126
2 , 0 1, 5
Exemplo 1 A regra de Simpson Composta aplicada para a aproximação de   ln( x + 2 y) dy dx , com
1, 4 1, 0

n = 4 e m = 2 usa os saltos h = 0,15 e k = 0,25. A região de integração R é mostrada na figura 4.18,


juntamente com os pontos (xi , yj), onde i= 0, 1, 2, 3, 4, e j = 0, 1, 2 e os coeficientes wij de f (xi , yj) =
ln(xi + 2yj) na soma. (Figura 4.18)

A aproximação é
2 , 0 1, 5
(0,15)(0,25) 4 2
  ln( x + 2 y) dy dx  9

i =0 j =0
wij ln( xi + 2 y j ) = 0,4295524387.
1, 4 1, 0

4 f 6 4 f 96 1
Uma vez que ( x , y ) = − e ( x, y ) = − , e o valor máximo de em
x 4
( x + 2 y) 4
y 4
( x + 2 y) 4
( x + 2 y) 4
R ocorre em (1,4 ; 1,0), o erro está limitado por
(0,5)(0,6)  6 96 
E  4
(0,15) ( xmax + (0,25) 4 max 4 
 4,72  10 −6 .
180  , y ) em R ( x + 2 y) 4 ( x , y ) em R ( x + 2 y) 
2 , 0 1, 5

O valor exacto até 10 casas decimais é   ln( x + 2 y) dy dx = 0,4295545265, assim, a aproximação


1, 4 1, 0

está correcta com um erro inferior a 2,110−6 . 


A mesma técnica pode ser aplicada para a aproximação de integrais triplos, assim como de ordem ainda
superior de funções de mais do que uma variável. O número de cálculos funcionais necessários para a
aproximação é o produto dos números de cálculos funcionais requeridos quando o método é aplicado a
cada variável.

Para reduzir o número de cálculos funcionais há métodos mais eficientes como a quadratura de Gauss,
a integração de Romberg ou quadratura adaptativa que podem ser incorporados no lugar das fórmulas
de Newton-Cotes. O seguinte exemplo ilustra o uso da quadratura de Gauss para o integral do exemplo
1.

Exemplo 2 Considere o integral duplo dado no exemplo 1. Antes de aplicar a técnica de quadratura de
Gauss para aproximar este integral, transformamos a região de integração
R = ( x, y ) 1,4  x  2,0 ; 1,0  y  1,5 em Rˆ = (u, v) − 1  u  1 ; − 1  v  1. As transformações

2 x − 1,4 − 2,0 2 y − 1,0 − 1,5


lineares que permitem estabelecer esta relação são u = e v= , ou
2,0 − 1,4 1,5 − 1,0
x = 0,3 u + 1,7 e y = 0,25 v + 1,25 , o que é equivalente. Aplicando esta mudança de variáveis gera-se

127
um integral em que a quadratura de Gauss pode ser aplicada:
2 , 0 1, 5 1 1

  ln( x + 2 y) dy dx = 0,075  ln(0,3u + 0,5v + 4,2)dvdu .


1, 4 1, 0 −1 −1

A fórmula de quadratura de Gauss para n = 3 tanto em u quanto em v requer o uso dos pontos
u1 = v1 = r3, 2 = 0 , u 0 = v0 = r3,1 = −0,7745966692 e u 2 = v2 = r3,3 = 0,7745966692.

Os pesos associados são c3, 2 = 0, 8 e c3,1 = c3,3 = 0, 5 . Assim,

2 , 0 1, 5 3 3

  ln( x + 2 y) dy dx  0,075 c3,i c3, j ln(0,3 r3,i + 0,5 r3, j + 4,2) = 0,4295545313.
1, 4 1, 0 i =1 j =1

Embora este resultado requeira apenas 9 cálculos funcionais, comparadas com as 15 da regra de
Simpson composta usada no exemplo 1, este resultado é correcto até 4,8  10−9 , comparativamente à

exactidão de 2,110−6 conseguida no exemplo 1.

Algoritmo 4.4 (Integral duplo de Simpson)

Algoritmo 4.5 (Integral duplo de Gauss)

Algoritmo 4.6 (Integral triplo de Gauss)

Exercícios (4.8):
1. Calcule as aproximações dos seguintes integrais duplos usando a regra de Simpson composta com
n = m = 4 e compare os resultados com os exactos:

  (x )
2 , 5 1, 4 0,5 0,5 2, 2 2 x 1, 5 x

  xy dy dx   e dy dx   ( x + y ) dy dx
y−x
a) 2
b) c) 2 3
d) 2
+ x dy dx
2 ,1 1, 2 0 0 2 x 1 0

2. Calcule as aproximações dos seguintes integrais duplos usando a regra de Simpson composta com
(i) n = 4, m = 8, (ii) n = 8, m = 4, e (iii) n = m = 6 e compare os resultados com os exactos:
e x 1 2y 1 2x

  ln xy dy dx   ( x + y ) dx dy   (x + y 2 ) dy dx
2 3 3
a) b) c)
1 1 0 y 0 x

 x  x 
d)   cos x dy dx
0 0
e)   cos y dy dx
0 0
f)
4 sin x

 
1
dy dx
0 0 1− y2
3

2 2

  (2 y sin x + cos x )dy dx   ( y sin x + x cos y) dy dx


4 cos x
2 h)
g)
− 0
0 sin x

128
4.9. Integrais Impróprios
Integrais impróprios resultam quando a noção de integração é estendida ou para intervalos de
integração em que a função não está limitada ou para intervalos com um ou mais limites de integração
infinitos. Em qualquer dos casos, os métodos normais de integração devem ser modificados.

Vamos primeiro considerar a situação em que o integral não é limitado à esquerda. Vamos, então,
mostrar que outros integrais impróprios podem ser reduzidos a problemas desta maneira.

Já foi mostrado no cálculo que o integral impróprio com a singularidade no limite de integração
b
dx
esquerdo,  ( x − a)
a
p
converge se e somente se 0 < p < 1, e, neste caso, define-se

(b − a)1− p
b
dx
a ( x − a) p 1 − p .
=

g ( x)
Se f é uma função que se pode escrever na forma f ( x) = , onde 0 < p < 1 e g é contínua em
( x − a) p
b
[a,b], então o integral impróprio  f ( x) dx
a
também existe. Vamos aproximar este integral usando a

regra de Simpson composta, desde que g  C 5 a, b . Nesse caso, pode se construir o polinómio de

Taylor do quarto grau P4 ( x ) , para g em ordem a x0 = a

1 1 1
P4 ( x) = g (a) + g (a)( x − a) + g (a)( x − a) 2 + g (a)( x − a ) 3 + g ( 4) (a)( x − a) 4
2 3! 4!
b b
g ( x) − P4 ( x) b
P4 ( x)
e escrever 
a
f ( x) dx = 
a ( x − a) p
dx + 
a ( x − a ) p
dx . (4.45)

Uma vez que P(x) é um polinómio, pode se determinar exactamente o valor de


b 4 b
P4 ( x) g ( k ) (a) 4
g ( k ) (a)
a ( x − a) p dx =  
k =0 a k!
( x − a ) k− p
dx = 
k = 0 k !( k + 1 − p )
(b − a) k +1− p . (4.46)

Esta é geralmente a porção dominante da aproximação, especialmente quando o polinómio de Taylor


P4 ( x ) quase coincide com g(x) em todo o intervalo [a,b].

b
g ( x) − P4 ( x)
Para aproximar o integral de f, precisamos de adicionar este valor à aproximação de 
a ( x − a) p
dx .

129
 g ( x )− P4 ( x ) , a  x  b
Para aproximar isto, precisamos primeiro de definir G( x) =  ( x −a ) p .
 0 , x = a

Uma vez que 0 < p < 1 e P4( k ) (a) coincide com g ( k ) (a) para k = 0, 1, 2, 3, 4, temos G  C 4 [a, b] . Isto
implica que a regra de Simpson composta pode ser usada para aproximar o integral de G em [a,b].
Adicionando esta aproximação ao valor da Eq. (4.46) tem-se a aproximação do integral impróprio de f
em [a,b], com uma exactidão da aproximação da regra de Simpson Composta.

Exemplo 1: Vamos usar a regra de Simpson composta com h = 0,25 para aproximar o valor do integral
1
ex
impróprio  dx . Uma vez que o polinómio de Taylor de quarto grau para e x em x = 0 é
0 x
x2 x3 x4
P4 ( x) = 1 + x + + + , temos
2 6 24
1
1
P4 ( x) 1
 −1 1
1
3
1
5
1 2
7
 1 2 3 1 5 1 7 1 2
9

 dx =   x 2 + x 2 + x 2 + x 2 +
0
2 6
x  dx = lim+ 2 x 2 + x 2 + x 3 + x 2 +
24  a →0 3 5 21
x 
108  a
0 x 
2 1 1 1
= 2+ + + +  2,9235450.
3 5 21 108

 e − Px4 ( x ) , 0  x  1
x

A tabela 4.14 lista os valores aproximados de G( x) = 



0 , x=0

x 0,00 0,25 0,50 0,75 1,00

G(x) 0 0,0000170 0,0004013 0,0026026 0,0099485

Aplicando a regra de Simpson composta com estes dados tem-se


1

 G( x) dx 
0,25
0 + 4(0,0000170) + 2(0,0004013) + 4(0,0026026) + 0,0099485 = 0,0017691. Assim,
0
3
1
ex

0 x
dx  2,9235450+ 0,0017691= 2,9253141. Este resultado é correcto com a exactidão da

aproximação pela regra de Simpson composta para a função G. Uma vez que G ( 4) ( x)  1 em [0,1], o
1− 0
erro está limitado por (0,25) 4 = 0,0000217 . 
180

130
Exercícios (4.9):
1. Use a regra de Simpson composta e os valores de n dados para aproximar os seguintes integrais
impróprios:
1 1 1 2
− e2x ln x
a) x 4
sin x dx; n = 4 b)  5
x 2
dx; n = 6 c)  ( x − 1)
1
1/ 5
dx; n = 8
0 0

e−x
1 1 1
cos 2 x xe x
d) 0 x1 / 3 dx; n = 6 e)  1− x
dx; n = 6 f) 
0
3
( x − 1) 2
dx; n = 6
0

2. Use a transformação t = x −1 e depois a regra de Simpson composta com os valores de n dados para
aproximar os seguintes integrais impróprios:
 
1 1
a)  2 dx; n = 4 b) 1+ x dx; n = 4
1 x +9
4
1
 
cos x
 x
−4
c) 3
dx; n = 6 d) sin x dx; n = 6
1 x 1


3. O integral impóprio  f ( x) dx não pode ser convertido num integral com limites de integração
0

finitos usando-se a transformação t = x −1 porque o limite eme depois a regra de Simpson


composta com os valores de n dados para aproximar os seguintes integrais impróprios:

131

Você também pode gostar