Você está na página 1de 88

Calculo Numerico e Computacional CNC

Luiza Amalia Pinto Cantao


luiza@sorocaba.unesp.br

Sum
ario

Introduc
ao `
a Teoria de Erros e Estabilidade

1.1

Representac
ao de N
umeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1.1

Representac
ao de um N
umero Inteiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1.2

Representac
ao de um N
umero Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

1.2.1 Representac
ao de N
umeros no Sistema F (, t, m, M) . . . . . . . . . . . . . . . . . . . .
Operac
oes Aritmeticas em Ponto Flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8
9

1.4

Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Sistemas de Equac
oes Lineares
2.1

2.2

2.3
3

Metodos Diretos
2.1.1

Sistemas Triangulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1.2

Metodo de Eliminac
ao de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1.3

Fatorac
ao LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1.4 C
alculo da Matriz Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Metodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1

Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.2

Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.3

Convergencia dos Metodos de Jacobi e Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . 24

Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Equac
oes N
ao-Lineares

28

3.1

Fase I: Isolamento das Razes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2

Fase II: Refinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


3.2.1 Criterio de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3

3.2.2

Metodo da Bissec
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2.3

Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.4

Metodo da Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Sistemas N
ao-Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.1

3.4
4

13

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Metodo de Newton para Sistemas N


ao-Lineares . . . . . . . . . . . . . . . . . . . . . . . . 37

Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Ajuste de Curvas
42
4.1 Interpolac
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.1

Polin
omio Interpolador de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.1.2

Erro na Interpolac
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1


SUMARIO

4.1.3

Quadrados Mnimos Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3

Interpolac
ao com Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.1

Interpolac
ao por Spline Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.3.2

Interpolac
ao por Spline C
ubico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Integrac
ao Num
erica
5.1

63

F
ormula de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1.1

F
ormula dos Trapezios: n = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.1.2

F
ormula de Simpson: n = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.1.3

F
ormulas de Newton-Cotes para n = 3 e n = 4 . . . . . . . . . . . . . . . . . . . . . . . . 65

5.2

F
ormulas Repetidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.3

Erro nas F
ormulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.4

5.3.1

Erro na F
ormula do Trapezio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.3.2

Erro na F
ormula de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Integrac
ao de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.1

5.5
5.6

Extrapolac
ao de Richardson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.4.2 Integrac
ao de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Quadratura de Gauss-Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.5.1

Polin
omio Interpolador de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.2

4.4
5

SUMARIO

F
ormula para dois pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Aproximac
oes para Equac
oes Diferenciais Ordin
arias

76

6.1

Diferencas Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.2

Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.3

6.2.1

Metodo de Runge-Kutta de ordem 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6.2.2
6.2.3

Metodo de Runge-Kutta de ordem 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83


Metodo de Runge-Kutta de ordem 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Refer
encias Bibliogr
aficas

87

CAPITULO

Introduc
ao `
a Teoria de Erros e Estabilidade
Introduc
ao
Segundo [4], o conjunto de n
umeros represent
aveis em qualquer m
aquina e finito, portanto discreto, ou seja,
n
ao e possvel representar em uma m
aquina todos os n
umeros de um dado intervalo [a, b]. A implicac
ao imediata
desse fato e que o resultado de uma simples operac
ao aritmetica ou o c
alculo de uma func
ao, realizadas neste
conjunto de n
umeros, podem conter erros. A menos que medidas apropriadas sejam tomadas, essas imprecis
oes
causadas, por exemplo, por
1. simplificac
oes no modelo matem
atico, necess
arias para se obter um modelo matem
atico sol
uvel;
2. erros de truncamento (troca de uma serie infinita por uma finita);
3. erros de arredondamento, devido `
a pr
opria estrutura da m
aquina, ou ainda
4. erro nos dados, dados imprecisos obtidos experimentalmente, ou arredondados na entrada
podem diminuir, e algumas vezes destruir, a precis
ao dos resultados.
Assim, o objetivo deste captulo e o estudo dos erros inerentes `
a estrutura computacional, dar subsdios para
evit
a-los e interpretar os resultados obtidos.

1.1 Representac
ao de N
umeros
Exemplo 1. Calcule a
area de uma circunferencia de raio igual a 100 m.
Resultados Obtidos:
1. A = 31400 m2 ;
2. A = 31416 m2 ;
3. A = 31415.92654 m2 .
possvel obter exatamente esta
Como justificar as diferencas entre os resultados apresentados no exemplo 1? E

area?

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

Os erros ocorridos dependem da representac


ao do n
umero (neste caso, do n
umero ) na m
aquina utilizada1 e
do n
umero m
aximo de dgitos usados na sua representac
ao.
O n
umero , por exemplo, n
ao pode ser representado atraves de um n
umero finito de dgitos decimais. No
exemplo 1, o n
umero foi escrito como 3.14, 3.1416 e 3.141592654 respectivamente. Para cada representac
ao
foi obtido um resultado diferente, e o erro neste caso depende exclusivamente da aproximac
ao escolhida para .
Qualquer que seja a circunferencia, a sua
area nunca ser
a obtida exatamente de forma numerica!
Logo, qualquer c
alculo que envolva n
umeros que n
ao podem ser representados atraves de um n
umero finito de
dgitos n
ao fornecer
a como resultado um valor exato.

1.1.1 Representac
ao de um N
umero Inteiro
A representac
ao de um n
umero inteiro n
ao apresenta dificuldade. Qualquer computador trabalha internamente
com uma base fixa , onde e um inteiro 2 e e escolhido como uma potencia de 2.
Assim, dado um n
umero inteiro n 6= 0, ele possui uma
unica representac
ao:
n = (nk nk+1 . . . n1 n0 ) = n0 0 + n1 1 + . . . + nk k

onde ni , i = 0, 1, . . . , k s
ao inteiros satisfazendo 0 ni e nk 6= 0.
Exemplo 2. Na base = 10, o n
umero 1997 e representado por:
1997 = 7 100 + 9 101 + 9 102 + 1 103
e e armazenado como n3 n2 n1 n0 .

1.1.2 Representac
ao de um N
umero Real
A representac
ao de um n
umero real no computador pode ser feita por representac
ao em Ponto Fixo ou Ponto
Flutuante, como apresentado em [4].
(i) Representac
ao em Ponto Fixo: Dado um n
umero real x 6= 0, ele ser
a representado em ponto fixo por:
x =

n
X

xi 1 ,

i=k

onde k e n s
ao inteiros satisfazendo k < n e, usualmente, k 0 e n > 0 e os xi s
ao inteiros satisfazendo
0 xi < .
Exemplo 3. Na base 10, o n
umero 1997.16 e representado por:
2
X

1997.16 =

xi i = 1 103 + 9 102 + 9 101 + 7 100 + 1 101 + 6 102

i=3

e e armazenado como x3 x2 x1 x0 . x1 x2 .
(ii) Representac
ao em Ponto Flutuante Esta representac
ao e universalmente utilizada atualmente. Dado um
n
umero real x 6= 0, ele pode ser representado por:
x = d e
1 Calculadora

ou computador.

L. A. P. Cant
ao

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

onde:
di , para i = 1, 2, 3, . . . t, s
ao os dgitos da parte fracion
aria, tal que 0 di 9. Se d1 6= 0 diz-se que o
n
umero est
a normalizado.
t e o n
umero de dgitos na mantissa.
e e um expoente inteiro.
A mantissa e um n
umero em ponto fixo, isto e:
d=

n
X

di i

i=k

onde k = 1, tal que se x 6= 0, ent


ao d1 6= 0; 0 di < , i = 1, 2, . . . , t, com t a quantidade de dgitos
significativos ou precis
ao do sistema, 1 d < 1 e m e M.
Exemplo 4. Escreva os n
umeros:
x1 = 0.35

x2 = 5.172

x3 = 0.0123

x4 = 5391.3

x5 = 0.0003,

onde todos est


ao na base = 10, em ponto flutuante na forma normalizada.
Temos:
0.35

(3 101 + 5 102 ) 100 = 0.35 100

5.172

= (5 101 + 1 102 + 7 103 + 2 104 ) 101 = 0.5172 101

0.0123

(1 101 + 2 102 + 3 103 ) 101 = 0.123 101

5391.3

(5 101 + 3 102 + 9 103 + 1 104 + 3 105 ) 104 = 0.53913 104

0.0003

(3 101 ) 103 = 0.3 103

Notac
ao: para representar um sistema numerico em ponto flutuante normalizado, na base , com t dgitos
significativos e com limites dos expoentes m e M, usamos F (, t, m, M).
Assim, um n
umero em F (, t, m, M) ser
a representado por:
0.d1 d2 . . . , dt e
onde d1 6= 0 e m e M.
Exemplo 5. Considere o sistema F (10, 3, 2, 2). Represente neste sistema os n
umeros do Exemplo 4.
Neste sistema, um n
umero ser
a representado por:
0.d1 d2 d3 10e ,
onde 2 e 2. Assim:
0.35 = 0.350 100 ,
5.172 = 0.517 101 ,
0.0123

0.123 101

Note que os n
umeros 5391.3 e 0.0003 n
ao podem ser representados no sistema, pois 5391.3 = 0.539 104
e, portanto, o expoente e maior que 2, causando overflow. Por outro lado, 0.0003 = 0.300 103 e, assim,
o expoente e menor do que 2, causando underflow.
L. A. P. Cant
ao

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

(iii) Mudanca de Base A maioria dos computadores trabalha na base (inteiro 2), normalmente escolhido
como uma potencia de 2. Assim um mesmo n
umero pode ser representado em mais de uma base. Alem
disso, sabemos que, atraves de uma mudanca de base, e sempre possvel determinar a representac
ao em uma
nova base.
Em particular, um n
umero representado na base = 2 e conhecido como um n
umero bin
ario.
Exemplo 6. Mudar a representac
ao dos n
umeros:
a. 1101 da base 2 para a base 10
Neste caso, o procedimento e multiplicar cada algarismo do n
umero na base 2 por potencias crescentes
de 2, da direita para a esquerda e somar todas as parcelas:
1101 = 1 20 + 0 21 + 1 22 + 1 23 = 1 + 0 + 4 + 8 = 13
b. 0.110 da base 2 para a base 10
Multiplicar cada algarismo do n
umero na base 2, ap
os o ponto, por potencias decrescentes de 2, da
esquerda para a direita e somar as parcelas.
0.110 = 1 21 + 1 22 + 0 23 =

1 1
+ + 0 = 0.75
2 4

c. 13 da base 10 para a base 2


O procedimento e dividir o n
umero por 2. A seguir, continuar dividindo o quociente por 2, ate que o

ultimo quociente seja igual a 1. O n


umero na base 2 ser
a ent
ao obtido tomando-se o
ultimo quociente
e todos os restos das divis
oes anteriores.

13
1

2
6

Figura 1.1: (13)10 = (1101)2 .


d. 0.75 da base 10 para a base 2;
Multiplique a parcela decimal por 2. Continue multiplicando a parte decimal do resultado obtido por 2.
O n
umero na base 2 ser
a ent
ao obtido tomando-se a parte inteira do resultado de cada multiplicac
ao.
Assim,
0.75 2

= 1.50

0.50 2

1.00

0.00 2

0.00

Logo: (0.75)10 = (0.110)2 .


e. 3.8 da base 10 para a base 2.
O procedimento e transformar a parte inteira seguindo o item c, o que nos fornece (3)10 = (11)2 , e
parte decimal seguindo o item d.

L. A. P. Cant
ao

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

0.8 2

= 1.6

0.6 2

= 1.2

0.2 2

= 0.4

0.4 2

= 0.8

0.8 2

= ...

Logo: (3.8)10 = (11.11001100 . . .)2 . Portanto, o n


umero (3.8)10 n
ao tem representac
ao exata na base
2. Este exemplo ilustra tambem o caso de erro de arredondamento nos dados, que ser
a abordado na
sec
ao 1.2.
No exemplo 6, mudamos a representac
ao de n
umeros na base 10 para a base 2 e vice-versa. O mesmo
procedimento pode ser utilizado para mudar da base 10 para outra base qualquer e vice-versa. A pergunta
que surge e: qual o procedimento para representar um n
umero que est
a numa dada base 1 em uma outra
base 2 , onde 1 6= 2 6= 10? Neste caso, devemos representar o n
umero que est
a na base 1 , na base 10
e, a seguir, o n
umero obtido na base 10, na base 2 .
Exemplo 7. Dado o n
umero 12.20 que est
a na base 4, represent
a-lo na base 3.
1. Representar o (12.20)4 na base 10:
12

2 40 + 1 41 = 6,

0.20

2 41 + 0 42 =

2
= 0.5
4

Portanto: (12.20)4 = (6.5)10 .


2. Representar (6.5)10 na base 3:

6
0

3
2

Figura 1.2: (6)10 = (20)3 .


0.5 3

= 1.5

0.5 3
..
.

= 1.5

Assim: (12.20)4 = (20.111 . . .)3 . Observe que o n


umero dado na base 4 tem representac
ao exata na
base 4, mas n
ao na base 3.

1.2 Erros
O formato de um n
umero em aritmetica de ponto flutuante limita a mantissa em k dgitos decimais. Existem
duas maneiras de obter essa limitac
ao. Um metodo, chamado de truncamento, consiste em simplesmente cortar
os dgitos dk+1 dk+2 . . ..
O outro metodo, chamado de arredondamento trunca a mantissa em k dgitos (como no caso acima), porem
duas situac
oes podem ocorrer:
1. Se dk+1 5, dk = dk + 1;
L. A. P. Cant
ao

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

2. Se dk+1 < 5, dk = dk .
Exemplo 8. Podemos escrever o n
umero na forma de aritmetica de ponto flutuante com 5 dgitos usando:
1. O metodo de Truncamento: = 0.31415 101 ;
2. O metodo de Arredondamento: = 0.31416 101 .
Estes dois processos geram erros nos c
alculos numericos e s
ao conhecidos como erros de truncamento e erros
de arredondamento, respectivamente.

Erros Absolutos e Relativos


O erro absoluto e a diferenca entre o valor exato de um n
umero x e seu valor aproximado x:
EAx = |x x|.

(1.1)

Em geral, apenas o valor x e conhecido, e neste caso, e impossvel obter o valor exato do erro absoluto. O que
se faz e obter um limitante superior ou uma estimativa para o m
odulo do erro absoluto.
O erro relativo e definido como o erro absoluto dividido pelo valor aproximado:
ERx =

|x x|
EAx
=
,
|x|
|x|

x 6= 0.

(1.2)

1.2.1 Representac
ao de N
umeros no Sistema F (, t, m, M)
Os n
umeros reais podem ser representados por uma reta contnua. Entretanto, em ponto flutuante, podemos
representar apenas pontos discretos na reta real.
Exemplo 9. Considere o n
umero F (2, 3, 1, 2). Quantos e quais n
umeros podem ser representados neste sistema?
Temos que = 2, ent
ao os dgitos podem ser 0 ou 1; m = 1 e M = 2, ent
ao, 1 e 2 e t = 3. Assim, os
n
umeros s
ao da forma:
0.d1 d2 d3 e
Logo, temos: duas possibilidades para o sinal, uma possibilidade para d1 , duas possibilidades para d2 e d3 e quatro
possibilidades para e . Fazendo o produto 2 1 2 2 4 = 32. Assim, neste sistema podemos representar 33
n
umeros, visto que o zero faz parte de qualquer sistema.
Para responder quais s
ao os n
umeros, notemos que as formas da mantissa s
ao: 0.100, 0.101, 0.110 e 0.111,
e as formas de e s
ao: 21 , 20 , 21 e 22 . Assim, obtemos

21

20
0.100

21

22

os seguintes n
umeros:
=

(0.25)10

(0.5)10

=
=

(1.0)10
(2.0)10

desde que (0.100)2 = (0.5)10 ;

21

20
0.101

21

22
L. A. P. Cant
ao

(0.3125)10

(0.625)10

(1.25)10

(2.5)10
8

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

desde que (0.101)2 = (0.625)10 ;

21

20
0.110

21

22

(0.375)10

= (0.75)10
= (1.5)10
=

(3.0)10

(0.4375)10

desde que (0.110)2 = (0.75)10 ;

21

20
0.111

21

22

= (0.875)10
= (1.75)10
=

(3.5)10

desde que (0.111)2 = (0.875)10 .


Exemplo 10. Considerando o mesmo sistema do Exerccio 9, represente os n
umeros: x1 = 0.38, x2 = 5.3 e
x3 = 0.15 dados na base 10.
Fazendo os c
alculos, obtemos: (0.38)10 = 0.110 21 , (5.3)10 = 0.101 23 e (0.15)10 = 0.100 22 . Assim,
apenas o primeiro n
umero pode ser representado no sistema, pois para o segundo teremos overflow e, para o
terceiro, underflow.
Todas as operac
oes num computador s
ao arredondadas. Considere o exemplo a seguir.
Exemplo 11. Calcular o quociente entre 15 e 7.
Temos tres representac
oes alternativas:
x1 =

15
,
7

1
x2 = 2 ,
7

x3 = 2.142857.

As representac
oes dadas por x1 e x2 s
ao exatas e x3 e uma aproximac
ao do quociente. Suponha agora que s
o
15
dispomos de quatro dgitos para representar o quociente entre 15 e 7. Da,
= 2.142. Mas n
ao seria melhor
7
15
aproximarmos
= 2.143? Sim e isto significa que o n
umero foi arredondado.
7

Arredondamento em Ponto Flutuante


Definic
ao 1. [4] Arredondar um n
umero x, por outro com um n
umero menor de dgitos significativos, consiste
em encontrar um n
umero x, pertencente ao sistema de numerac
ao, tal que |x x| seja o menor possvel.

1.3 Operac
oes Aritm
eticas em Ponto Flutuante
Considere uma m
aquina qualquer e uma serie de operac
oes aritmeticas. Pelo fato do arredondamento ser feito
ap
os cada operac
ao, temos, ao contr
ario do que e v
alido para n
umeros reais, que as operac
oes aritmeticas (adic
ao,
subtrac
ao, divis
ao e multiplicac
ao) n
ao s
ao nem associativas e nem distributivas.
Para os exemplos abaixo, considere o sistema com base = 10 e tres dgitos significativos.
Exemplo 12. Efetue as operac
oes indicadas:

L. A. P. Cant
ao

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)

3.18 11.4
b)
e
5.05

3.18
5.05

(11.4 + 3.18) + 5.05

14.6 + 5.05

19.7

11.4 + (3.18 + 5.05)

11.4 + 8.23

19.6


11.4
3.18 11.4
5.05


3.18
11.4
5.05

36.3
11.4

7.18

3.18 16.5

7.19

c) 3.18 (5.05 + 11.4) e 3.18 5.05 + 3.18 11.4


3.18 (5.05 + 11.4)

3.18 16.5

52.3

3.18 5.05 + 3.18 11.4

16.1 + 36.3

52.4

1.4 Exerccios
1. Considere o sistema F (10, 4, 4, 4). Represente neste sistema os n
umeros:
(a) x1 = 4321.24

(c) x3 = 125.64

(b) x2 = 0.0013523

(d) x4 = 57481.23

(e) x5 = 0.00034

2. Represente no sistema F (10, 3, 1, 3) os n


umeros do exerccio acima.
3. Considere os seguintes n
umeros: x1 = 34, x2 = 0.125 e x3 = 33.023 que est
ao na base 10. Escreva-os na
base 2.
4. Considere os seguintes n
umeros: x1 = 110111, x2 = 0.01011 e x3 = 11.0101 que est
ao na base 2. Escreva-os
na base 10.
5. Considere os seguintes n
umeros: x1 = 33, x2 = 0.132 e x3 = 32.013 que est
ao na base 4. Escreva-os na
base 5.
6. Considere o sistema F (3, 3, 2, 1).
(a) Quantos e quais n
umeros podemos representar neste sistema?
(b) Represente no sistema os n
umeros: x1 = (0.40)10 e x2 = (2.8)10 .
7. Considere o sistema F (2, 5, 3, 1). Quantos n
umeros podemos representar neste sistema?
8. Calcule o erro absoluto e o erro relativo nas aproximac
oes de p e p:
(a) p = , p = 22/7;
(b) p = , p = 3.1416;
(c) p = e, p = 2.718;
(d) p = e10 , p = 22000;

L. A. P. Cant
ao

(EA = 0.001264 e ER = 4.025 104 )


(EA = 7.346 106 e ER = 2.338 106 )
(EA = 2.818 104 e ER = 1.037 104 )
(EA = 1.454 10 e ER = 1.05 102 )

10

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

CNC

(e) p = 8!, p = 39900;


(EA = 420 e ER = 1.042 102 )

(f) p = 2, p = 1.414;
(EA = 2.136 104 e 1.51 104 )

(g) p = 9!, p = 18 (9/ e)9 .


(EA = 3.343 103 e 9.213 103 )
9. O n
umero e pode ser definido por e =

n=0 (1/n!),

onde n! = n (n 1) 2 1 para n 6= 0 e 0! = 1. Calcule

o erro absoluto e o erro relativo nas seguintes aproximac


oes de e:

(a)

5
X
1
;
n!
n=0

10. Seja f (x) =

(b)

10
X
1
.
n!
n=0

x cos x sen x
.
x sen x

(a) Encontre o limx0 f (x). (2)


(b) Utilize aritmetica com arredondamento para valores de quatro dgitos para calcular f (0.1). (1.941)
(c) O valor real e f (0.1) = 1.99899998. Encontre o erro absoluto e relativo para o valor encontrado no
item anterior.
11. Efetue os somat
orios seguintes em uma calculadora e em um computador:
S=

30000
X

xi

i=1

(a) para xi = 0.5;

(c) para xi = 3.8 , para i = 1 : 10000.

(b) para xi = 0.11;


12. Os primeiros tres termos diferentes de zeros da serie de MacLaurin para a func
ao arcotangente s
ao x
(1/3)x 3 + (1/5)x 5 . Calcule o erro absoluto e o erro relativo para as seguintes aproximac
oes de utilizando
o polin
omio em lugar da func
ao arcotangente:

 
 
1
1
(a) 4 arctan
+ arctan
(Aprox. 3.14557613, EA = 3.983 103 e ER = 1.268 103 )
2
3
 


1
1
(b) 16 arctan
4 arctan
(Aprox. 3.14162103, EA = 2.838 105 e ER = 9.032 106 )
5
239
13. Use a aritmetica com n
umeros de tres dgitos para executar os c
alculos a seguir. Calcule os erros absolutos
e relativos comparando-os com o valor exato determinado com pelo menos cinco dgitos.
(a) 133 + 0.921

(Aprox. 134, EA = 0.079 e ER = 5.9 104 )

(b) 133 0.499

(Aprox. 133, EA = 0.499 e ER = 3.77 103 )

(c) (121 0.327) 119

(Aprox. 2.00, EA = 0.327 e ER = 0.195)

(d) (121 119) 0.327

(Aprox. 1.67, EA = 0.003 e ER = 1.79 103 )

(e)

13
14

67
2 e 5.4

(Aprox. 1.954, EA = 0.00046 e ER = 0.0002353)

3
(f) 10 + 6 e
(Aprox. 15.1, EA = 0.0546 e ER = 3.6 103 )
62
   
2
9
(g)

(Aprox. 0.286, EA = 2.86 104 e ER = 103 )


9
7

L. A. P. Cant
ao

11

Captulo 1. Introduc
ao `
a Teoria de Erros e Estabilidade

(h)

22
7

1
17

CNC

(Aprox. 0.00, EA = 0.0215 e ER = 1.00)

14. A f
ormula quadr
atica estabelece que as razes da equac
ao ax 2 + bx + c = 0, quando a 6= 0, s
ao:
x1 =

b +

b2 4ac
2a

x2 =

b2 4ac
.
2a

Considere a equac
ao x 2 + 62.1x + 1 = 0, cujas razes s
ao aproximadamente x1 = 0.01610723 e x2 =
62.0839.
C
alcule a equac
ao acima utilizando arredondamento para quatro dgitos e posteriormente avalie o erro absoluto e relativo para cada raiz.
15. Utilize a aritmetica com arredondamento para quatro dgitos e as f
ormulas do exerccio acima para encontar
os valores aproximados mais precisos para as razes das equac
oes quadr
aticas a seguir. Calcule os erros
absolutos e relativos.
1
1 2 123
x
x+ =0
3
4
6
1
x

(b) 13 x 2 + 123
4
6 =0
(a)

(c) 1.002x 2 11.01x + 0.01265 = 0


(d) 1.002x 2 + 11.01x + 0.01265 = 0
Quest
ao

x1

0.02

8 (a)
(b)

92.26
0.005421

(c)
(d)

10.98
0.001149

EA

ER

x2

2.4 101

62.1

EA

ER

0.1542
1.264 106

1.672 104
2.333 104

0.005419
4.58 103

6.273 107
4.58 103

1.157 104
4.965 105

6.875 103
7.566 108

6.257 104
6.584 105

7.566 108
6.875 103

7.566 108
6.875 103

6.584 105
6.257 104

3.2 104

16. Considere o sistema F (10, 3, 5, 5). Efetue as operac


oes indicadas:
(a) (1.386 0.987) + 7.6485 e 1.386 (0.987 + 7.6485);

 

1.338 2.038
1.338
2.038
(b)
e

.
4.577
4.577
4.577
17. Seja x =

17.678
(9.617)2
+
3.471
3.716 1.85

(a) Calcule x com todos os algarismos da sua calculadora, sem efetuar arredondamentos.
(b) Calcule x considerando o sistema F (10, 3, 4, 3). Faca arredondamento a cada operac
ao efetuada.
18. Seja P (x) = 2.3x 3 0.5x 2 + 1.8x 2.2. Deseja-se obter o valor de P (x) para x = 1.61.
(a) Calcule P (1.61) com todos os algarismos da sua calculadora, sem efetuar arredondamentos.
(b) Calcule P (1.61) considerando o sistema F (10, 3, 4, 3). Faca arredondamento a cada operac
ao efetuada.

L. A. P. Cant
ao

12

CAPITULO

Sistemas de Equac
oes Lineares
Introduc
ao
A soluc
ao de um sistema de equac
oes lineares e provavelmente o processo numerico mais utilizado para simular
uma etapa fundamental na resoluc
situac
oes do mundo real. E
ao de v
arios problemas que envolvam, por exemplo,
equac
oes diferenciais, otimizac
ao, regress
ao e sistemas n
ao-lineares. Portanto, e de extrema import
ancia que se
tenha uma implementac
ao eficiente do metodo para soluc
ao do sistema linear, pois geralmente esta e a fase que
demanda a maior parte do tempo de processamento para resolver o problema.
Veremos aqui tecnicas diretas e iterativas para resolver o sistema linear:

a11 x1

a21 x1
..

an1 x1

a12 x2

+ ...

a1n xn

b1

a22 x2
..
.

+ ...
..
.

a2n xn
..
.

b2
..
.

an2 x2

+ ...

+ ann xn

(2.1)

bn

para x1 , x2 , , xn , dadas as constantes aij para cada i , j = 1, 2, , n e bi para cada i = 1, 2, , n.


As tecnicas diretas s
ao metodos que d
ao uma resposta em um n
umero finito de passos, sujeitos apenas aos
erros de arredondamento. As tecnicas iterativas geram, a partir de uma soluc
ao inicial, uma seq
uencia de soluc
oes
que deve convergir para a soluc
ao do sistema.
Uma outra maneira de escrever o sistema (2.1) e usando a forma matricial, denotada por Ax = b e genericamente apresentada como:

a11 a12 a1n


x1
b1

a21 a22 a2n x2 b2


.

(2.2)
..
.. .. = ..
..
.

.
.
. . .
.
an1

an2

ann

xn

bn

Note que Ann denota a matriz de coeficientes, x o vetor das inc


ognitas e b o vetor com os valores do lado direito
do sistema (2.1).
Se admitirmos que A e uma matriz inversvel, ou seja, A1 A = AA1 = I, onde I e a matriz Identidade,
ent
ao o sistema (2.1) ou (2.2) tem soluc
ao
unica x = A1 b. Porem, calcular explicitamente A1 e em seguida
A1 b e desaconselh
avel, uma vez que o n
umero de operac
oes envolvidas e grande, o que torna este processo n
ao
competitivo com os metodos que estudaremos aqui.

Captulo 2. Sistemas de Equac


oes Lineares

CNC

2.1 M
etodos Diretos
Apresentaremos inicialmente a resoluc
ao de Sistemas Triangulares Superior e Inferior, usados nos Metodos de
Eliminac
ao de Gauss e Fatorac
ao LU.

2.1.1 Sistemas Triangulares


Considere os seguintes sistemas lineares:

2x1

x2

x3

x2

2x3

x3

x1
2x1

2x1

+ x2
x2

5x3

(2.3a)

(2.3b)

cujas respectivas soluc


oes podem ser obtidas diretamente, ou seja, para os problemas (2.3a) e (2.3b), temos:

x3

x2

x
1

=
=
=

x1

x2

x
3

1
32
=1
1
2+11
=1
2

2
34
= 1
1
3
241
=
5
5

=
=

Os problemas (2.3a) e (2.3b) podem ser generalizados como seguem:

a11 x1

+ a12 x2

a1,n1 xn1

a1n xn

a22 x2

a2,n1 xn1

a2n xn

= b2
..
.
= bn1

an1,n1 xn1

an1,n xn
ann xn

a11 x1
a21 x1

an1,1 x1

an1 x1

a22 x2

+ an1,2 x2

+ an1,n1 xn1

an2 x2

an,n1 xn1

+ ann xn

b1
(2.4a)

bn

b1

=
..
.

b2

bn1

bn

(2.4b)

Os Algoritmos (1) e (2) apresentam os procedimentos de resoluc


ao para sistemas nas formas (2.4a) e (2.4b),
que s
ao generalizac
oes para os problemas (2.3a) e (2.3b), respectivamente.

L. A. P. Cant
ao

14

Captulo 2. Sistemas de Equac


oes Lineares

CNC

Dado n, Ann (matriz triangular superior), bn1 e xn1


bn
1: Fa
ca xn =
ann
2: Para k = n 1 at
e k = 1 faca
3:

soma = bk

4:

Para j = k + 1 at
e j = n faca
soma = soma akj xj

5:

Fim do laco
soma
7:
xk =
akk
8: Fim do la
co
6:

Algoritmo 1: Soluc
ao de Sistemas Triangulares Superiores
Dado n, Ann (matriz triangular inferior), bn1 e xn1 .
b1
1: Fa
ca x1 =
a11
2: Para k = 2 at
e k = n faca
3:

soma = bk

4:

Para j = 1 at
e j = n 1 faca

5:

soma = soma akj xj

Fim do laco
soma
7:
xk =
akk
8: Fim do la
co
6:

Algoritmo 2: Soluc
ao de Sistemas Triangulares Inferior

2.1.2 M
etodo de Eliminac
ao de Gauss
Os metodos diretos mais comuns tem como base as seguintes propriedade elementares de sistemas de equac
oes
lineares.
Propriedade 1. A soluc
ao do sistema Ax = b n
ao se altera se o submetermos a uma seq
uencia de operaco
es do
tipo:
1. Multiplicac
ao de uma equac
ao por uma constante n
ao-nula;
2. Soma do m
ultiplo de uma equac
ao `
a outra;
3. Troca da ordem das equac
oes.
=b
equivalente ao sistema original Ax = b
Estas operac
oes geram um sistema Ax
O metodo de Eliminac
ao de Gauss usa esta propriedade para transformar a matriz A numa matriz triangular
superior equivalente. Suponha aqui, que det(A) 6= 0.
Reescrevemos a matriz A e o vetor b na forma de uma matriz expandida:

L. A. P. Cant
ao

15

Captulo 2. Sistemas de Equac


oes Lineares

CNC

a11

a12

a13

a1n

b1

l1(1)

a21

..
.

a
i1
.
.
.
an1

a22
..
.

a23
..
.

..
.

a2n
..
.

b2
..
.

l2(1)
..
.

ai2
..
.
an2

ai3
..
.

..
.

ain
..
.

an3

ann

bi
..
.
bn

(1)

li

..
.
ln(1)

(1)

os elementos li , para i = 1, 2, . . . , n, representam as equac


oes do sistema linear (2.1) a ser triangularizado.

Eliminac
ao da Primeira Coluna
Suponha que a11 6= 0. Para eliminar a inc
ognita x1 das n 1 equac
oes, subtramos a primeira linha multiplicada
pelo fator

ai1
a11

mi1 =
de todas as outras linhas li , i = 2, 3, . . . , n
(2)

Dessa maneira, li

(1)

= li

(1)

mi1 l1 , para i = 2, 3, . . . , n, ou ainda,


Para i = 2 : n

aij(2)

= aij mi1 a1j ,

bi(2)

= bi mi1 b1 .

j =2:n

O ndice superior (2) indica que usaremos um segundo valor para aij e bi .
No final deste est
agio, os coeficientes da matriz aumentada foram modificados de modo que a matriz assume
a seguinte configurac
ao:

a11

..
.

.
.
.

a12

a13

a1n

b1

l1

l2(2)

(2)
a22

(2)
a23

(2)
a2n

b2(2)

..
.

..
.

..

..
.

..
.

(2)
ai2

(2)
ai3

(2)
ain

bi(2)

..
.

..
.

..

..
.

..
.

(2)
an2

(2)
an3

(2)
ann

bn(2)

(1)

..
.
li(2)
..
.
ln(2)

Eliminac
ao da Segunda Coluna
Para eliminar a inc
ognita x2 das n 2
ultimas equac
oes repetimos o procedimento anterior tomando agora a
segunda linha como auxiliar no processo de eliminac
ao, isto e:
li(3) = li(2) mi2 l2(2) ,

i = 3 : n,

onde

mi2 =

ai2
,
a22

i = 3 : n,

supondo que a22 6= 0.


Os coeficientes ser
ao modificados segundo as relac
oes:
Para i = 3 : n

(3)

aij mi2 a2j ,

(3)

bi mi2 b2 .

aij
bi

L. A. P. Cant
ao

(2)

(2)

j =3:n

(2)

16

Captulo 2. Sistemas de Equac


oes Lineares

CNC

Seguindo raciocnio an
alogo, procede-se ate i = n e a matriz resultante ser
a:

a11

a12

.
.
.

a13

a1n

b1

(2)
a22

(2)
a23

(2)
a2n

b2(2)

..
.

..
.

..

..
.

..
.

(n)
ann

bn(n)

a11 x1

a12 x2

a1n xn

(2)

a2n xn

(2)

=
..
.

(n)

= bn

a22 x2

ann xn

b1
(2)

b2

(n)

(2)
(3)
(n)
No processo de eliminac
ao, os elementos a11 , a22 , a33 , ..., ann que aparecem na diagonal principal da matriz
A s
ao chamados piv
os e os elementos mij , para i = 1, 2, , n e k = i + 1, , n, os multiplicadores.

Se no processo de eliminac
ao um dos piv
os se anular, devemos trocar linhas (sempre escolhendo aquelas abaixo
da diagonal para n
ao perder a eliminac
ao anterior), de modo que escolhamos elementos n
ao nulos para piv
os.
Dado n, Ann , bn1 e xn1 .
1:

Para k = 1 at
e k = n 1 faca

2:

Selecione i k tal que aik 6= 0

3:

Se aii = 0 para todo i k ent


ao

4:

A n
ao e inversvel. PARE

5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:

Caso contr
ario
Se i 6= k ent
ao
Troque a linha k com a linha i
Fim do condicional
Fim do condicional
Para i = k + 1 at
e i = n faca
aik
m = mik =
akk
bi = bi mbk
Para j = k + 1 at
e j = n faca
aij = aij makj
Fim do laco
Fim do laco

17:

Fim do laco

18:

Execute o algoritmo (1).


Algoritmo 3: Soluc
ao de (2.2) via Eliminac
ao de Gauss

Estrat
egia de Pivoteamento
Exemplo 13. Resolva o sistema abaixo usando o algoritmo (3):

L. A. P. Cant
ao

0.004x1

15.73x2

15.77

0.423x1

24.72x2

20.49
17

Captulo 2. Sistemas de Equac


oes Lineares

CNC

Use quatro dgitos na representac


ao em ponto flutuante e arredondamento ao desprezar o quinto dgito.
Troque a ordem das equac
oes lineares e resolva novamente o problema usando o mesmo algoritmo.
Soluc
ao 1. Para eliminarmos x1 , obtemos m = 105.8 e:
0.004x1

15.73x2

15.77

1689x2

= 1688

Cuja soluc
ao obtida e x1 = 15 e 0.999. A soluc
ao correta do sistema e x1 = 10 e x2 = 1.0. Calcule o erro relativo
da soluc
ao obtida.
Resolvendo o mesmo problema com a ordem das equac
oes trocadas temos m = 0.9456 102 e:
0.423x1

24.72x2

20.49

15.96x2

15.96

cuja soluc
ao e x1 = 10 e x2 = 1, que e a soluc
ao exata do sistema.
O procedimento usado no exemplo 13 para obter a soluc
ao correta do sistema e chamado de estrategia de
pivoteamento, que consiste na troca sistem
atica das linhas, de modo que o piv
o seja o maior elemento, em valor
absoluto, da coluna que estamos eliminando. Assim,
1. no k-esimo passo procuramos o elemento piv
o de maior valor absoluto entre os coeficientes:
|ar k | = max |aik |;
ikn

2. trocamos as linhas k e r se for necess


ario.
O algoritmo (4) ilustra esta estrategia.
Existem dois casos nos quais o metodo de eliminac
ao pode ser aplicado sem pivoteamento:
X
|aij |, i = 1, 2, . . . , n,
1. Uma matriz e diagonalmente dominante, ou seja, seus elementos satisfazem a |aii | >
j6=i

para todo i . Neste caso, os c


alculos ser
ao est
aveis com respeito ao crescimento dos erros de arredondamento.
2. Uma matriz e simetrica AT = A e positiva definida xT Ax > 0, para todo vetor x 6= 0.

2.1.3 Fatorac
ao LU
Os metodos de Eliminac
ao de Gauss e Eliminac
ao de Gauss com Pivoteamento podem ser usados economicamente quando precisamos resolver v
arios sistemas com a mesma matriz dos coeficientes A e diversos termos
independentes b.
Uma opc
ao seria guardar os coeficientes mij calculados no processo de eliminac
ao e us
a-los na atualizac
ao dos
termos independentes b. Computacionalmente, esta alternativa e conhecida como Fatorac
ao LU da matriz A.
Suponha que seja possvel fatorar a matriz A num produto de uma matriz triangular inferior (com elementos
da diagonal principal iguais a 1) L, e uma matriz triangular superior U, isto e:
A = LU = Ax = b LUx = b.
O sistema LUx = b permite o desmembramento em dois sistemas triangulares:
Ly = b
L. A. P. Cant
ao

Ux = y.
18

Captulo 2. Sistemas de Equac


oes Lineares

CNC

Dado n, Ann , bn1 e xn1 .


1:

Para k = 1 at
e k = n 1 faca

2:

w = |akk | e r = k

3:

Para j = k at
e j = n faca

4:

Se |akj | > w ent


ao

5:

w = |ajk | e r = j

6:

Fim do condicional

7:

Fim do laco

8:

Se w = 0 ent
ao

9:
10:
11:

A n
ao e inversvel. PARE
Caso contr
ario
Troque a linha k com a linha r

12:

Fim do condicional

13:

Para i = k + 1 at
e i = n faca
aik
m = mik =
akk
bi = bi mbk

14:
15:
16:

Para j = k + 1 at
e j = n faca
aij = aij makj

17:
18:
19:

Fim do laco
Fim do laco

20:

Fim do laco

21:

Execute o algoritmo (1).


Algoritmo 4: Soluc
ao de (2.2) via Eliminac
ao de Gauss com Pivoteamento

Resolvendo o primeiro sistema, calculamos y que, usado no segundo sistema, fornecer


a o vetor procurado x.
Teorema 1. Dada uma matriz Ann , seja Ak a matriz constituda das primeiras k linhas e colunas de A. Suponha
que det(Ak ) 6= 0 para k = 1, 2, . . . , (n 1). Ent
ao, existe uma
unica matriz triangular inferior L = (mij ), com
mii = 1, 1 i n e uma matriz triangular superior U = (uij ) tais que LU = A. Ainda mais, det(A) =
u11 u22 unn .
Exemplo 14. Resolva o sistema linear a seguir usando a fatorac
ao LU:

3x1
x1

4x1

L. A. P. Cant
ao

+
+

2x2
x2

+ 4x3
+ 2x3

= 1
= 2

3x2

2x3

19

Captulo 2. Sistemas de Equac


oes Lineares

CNC

Dado n, Ann , bn1 e xn1 .


1:

Para i = 1 at
e i = n faca
Para j = i at
e j = n faca
i1
X
uij = aij
mik ukj

2:
3:

k=1

5:

Para j = i + 1 at
e j = n fac!a
i1
X
mji = aji
mjk uki /uii

6:

Fim do laco

4:

k=1

Fim do laco

7:
8:

Fim do laco

9:

Execute o algoritmo (2) para resolver Ly = b e o algoritmo (1) para resolver Ux = y


Algoritmo 5: Soluc
ao de (2.2) via Fatorac
ao LU

Soluc
ao 2. Considere a matriz abaixo onde a primeira parte refere-se a matriz L e a segunda parte, a matriz U:

0
0


2 1a Etapa 1/3 1
2
4/3 0

1/3

1/3

a
2 Etapa 1/3 1 0
10/3
4/3 1 1
2/3

1/3

2/3
4

1a Etapa
Piv
o: a11 = u11 = 3 e multiplicadores: m21 =

a21
1
a31
4
= e m31 =
= .
u11
3
u11
3

u2j

= a2j m21 a1j

j = 2, 3

u3j

= a3j m31 a1j

j = 2, 3

2a Etapa
Piv
o: u22 =

1
u32
1/3
e multiplicadores: m32 =
= 1.
=
3
u22
1/3
u33 = u33 m32 u23

Resolvendo L(Ux) = b
(i) Ly = b

y1
1/3y1

y2

4/3y1

y2

2x2

4x3

1/3x2

2/3x3

5/3

4x3

= 1
= 2
+ y3


T
5
y = 1, , 0
3

(ii) Ux = y

3x1

L. A. P. Cant
ao

x = (3, 5, 0)T

20

Captulo 2. Sistemas de Equac


oes Lineares

CNC

2.1.4 C
alculo da Matriz Inversa
Sejam A uma matriz quadrada n
ao singular (det(A) 6= 0) e A1 = [b1 | b2 | . . . | bn ] a matriz inversa de A,
onde bj e a j-esima coluna da matriz A1 e ej e a j-esima coluna da matriz indentidade I. De A A1 = I, isto e,
de:
A [b1 | b2 | . . . | bn ] = [e1 | e2 | . . . | en ]
resulta A bj = ej , j = 1 : n.
Assim, podemos calcular as colunas j, j = 1 : n, da matriz A1 resolvendo os sistemas lineares anteriores e,
portanto podemos inverter uma matriz utilizando qualquer metodo de resoluc
ao de sistemas lineares:
a. Usando Fatorac
ao LU, obtemos as colunas de A1 fazendo:
LU bj = ej ,

j =1:n

isto e, resolvendo os sitemas lineares Lyj = ej e Ubj = yj , para j = 1 : n.


b. Usando o metodo de Eliminac
ao de Gauss, obtemos as colunas de A1 resolvendo os sitemas lineares:
A bj = ej ,

j =1:n

Exemplo 15. Considere a matriz:

A= 2
1

1
0

a. Calculo A1 usando a Fatorac


ao LU;
b. Calcule A1 utilizando o metodo de Eliminac
ao de Gauss.
Soluc
ao 3.
a. Inicialmente procedemos com a fatorac
ao da matriz A:

0
0


1 1a Etapa 2/3
2 0
1/3


1 2a Etapa 2/3
2 1
1/3

1
0 2

Agora resolvemos LUj = ej , para j = 1 : 3.


j = 1:

Ly1 = b1 2/3

1/3

0 y2 = 0 y1 = 23
1
y3
0
1

61

1 b21 = 32 b1 =
1
0 2
b31

1
12
1
2

Ub1 = y1 0

b11

y1

O vetor b1 representa a primeira coluna da matriz A1 .

L. A. P. Cant
ao

21

Captulo 2. Sistemas de Equac


oes Lineares

CNC

j = 2:

y1


1 0 y2 = 1 y2 = 1
1
0
1 1
y3

Ly2 = b2 2/3
1/3

0
b12
0
3
2

2 1 b22 = 1 b2 = 14
1
b32
0 2
12

Ub2 = y2 0
0

O vetor b2 representa a segunda coluna da matriz A1 .


j = 3:

y1

Ly3 = b3 2/3

1/3


0 y2 = 0 y3 = 0
1
1
1
y3

Ub3 = y3 0

b13


1 b23 = 0 b3 =
0 2
1
b33

1
2
1
4
12

O vetor b3 representa a terceira coluna da matriz A1 .


1

1
1
6
2
2

1
Portanto, A1 = [b1 | b2 | b3 ] = 12 41
.
4
1
2

21

12

b. usando o metodo de Eliminac


ao de Gauss, podemos escrever a matriz A e os vetores e1 , e2 e e3 , na forma
expandida:

2
1


0 1a Coluna 0
1
0

32

2 1

31


0 2a Coluna 0
1
0

32

0 2

0
1

Note que, a quarta, quinta e sexta coluna na matriz expandida representam, respectivamente, os vetores y1 ,
y2 e y3 . Resolvendo o sistema triangular superior (primeira, segunda e terceira coluna da matriz expandida)
para y1 , y2 e y3 (Aej = yj , j = 1 : 3) obtemos:

16

A1 =

1
2
1
2

1
2
14
12

1
2
1
4
12

2.2 M
etodos Iterativos
Se no sistema Ax = b os elementos da diagonal s
ao diferentes de zero, aii 6= 0, i = 1, 2, . . . , n, ent
ao
podemos explicitar x1 usando a primeira equac
ao, x2 usando a segunda equac
ao e assim sucessivamente. Ou seja,

L. A. P. Cant
ao

22

Captulo 2. Sistemas de Equac


oes Lineares

CNC

reescrevemos o sistema (2.1) numa forma que e conveniente para os metodos iterativos:

x1

b1

n
X

a1j xj /a11

j=2

..
.

xi

bi

n
X

aij xj /aii

(2.5)

j6=i

..
.

xn

= bn

n1
X

anj xj /ann

j=1

2.2.1 M
etodo de Jacobi
Neste metodo, as equac
oes (2.5) s
ao usadas para calcular uma seq
uencia de vetores aproximac
oes x(1) ,
x(2) , . . ., x(k) . Dada uma aproximac
ao inicial x(0) , usamos o primeiro termo `
a direita da i -esima equac
ao para
definir uma nova aproximac
ao para xi :

xi(1) = bi

n
X

aij xj(0) /aii ,

i = 1, 2, . . . , n.

(2.6)

j6=i

Usamos agora o vetor x(1) nas equac


oes (2.5) para calcular o novo vetor das aproximac
oes, x(2) = (x1(2) ,
x2(2) , . . ., xn(2) )T . Em resumo, o metodo de Jacobi consiste em calcularmos as componentes dos vetores x(1) ,
x(2) , . . . usando (2.5).
Verificamos se este metodo converge fazendo:




EA = max xi(k+1) xi(k) < 
1in

ou




(k+1)
xi(k)
xi


<
ER = max
(k+1)
1in
xi

onde  e uma toler


ancia suficientemente pequena. Note que, as medidas de erro acima s
ao os erros calculados em
(k+1)

(1.1) e (1.2), respectivamente, sendo xi

(k+1)

a soluc
ao procurada, isto e, xi

= x. Em testes computacionais

usamos tambem como teste de parada um n


umero m
aximo de iterac
oes.
Para iniciar o processo iterativo e necess
ario fornecer uma aproximac
ao inicial x(0) . Na falta de informac
ao
sobre a soluc
ao, tomamos x(0) = 0. O Algoritmo 6 apresenta os passos do metodo de Jacobi.

2.2.2 M
etodo de Gauss-Seidel
Este metodo consiste em uma modificac
ao do metodo de Jacobi. Nele, as iterac
oes ser
ao calculadas usando as
equac
oes (2.5), mas aproveitando os c
alculos j
a atualizados de outras componentes, para atualizar a componente
(k+1)

que est
a sendo calculada. Assim, o valor recem calculado para x1

(k+1)

ser
a usado no c
alculo de x2

, como mostra

o Algoritmo 7.

L. A. P. Cant
ao

23

Captulo 2. Sistemas de Equac


oes Lineares

CNC

Dado n, Ann , bn1 e x(0)


n1 , max, 
1:
2:
3:

4:
5:
6:
7:

Para k = 0 at
e k = max faca
Para i = 1 at
e i
= n faca

n
X
1
xi(k+1) =
bi
aij xj(k)
aii
j=1, j6=i


(k+1)
(k)

x

x
i
i




<  ent
ao
Se max xi(k+1) xi(k) <  ou


(k+1)
1in

xi
x = x(k+1)
Caso contr
ario
Se k = max ent
ao
PARE: n
ao houve convergencia.

8:
9:
10:
11:
12:

Fim do condicional
Fim do condicional
Fim do laco
Fim do laco
Algoritmo 6: Metodo de Jacobi

Dado n, Ann , bn1 e x(0)


n1 , max, 
1:
2:
3:

4:
5:
6:
7:

Para k = 0 at
e k = max faca
Para i = 1 at
e i
= n faca

i1
n
X
X
1
(k+1)
(k+1)
(k)
xi
=
bi
aij xj

aij xj
aii
j=1
j=i+1


(k+1)
(k)

x
x

i
i
(k+1)
(k)


Se max xi
xi <  ou
<  ent
ao


(k+1)
1in
xi

x = x(k+1)
Caso contr
ario
Se k = max ent
ao
PARE: n
ao houve convergencia.

8:
9:
10:
11:
12:

Fim do condicional
Fim do condicional
Fim do laco
Fim do laco
Algoritmo 7: Metodo de Gauss-Seidel

Exemplo 16. Resolva o sistema abaixo usando os metodos de Jacobi e Gauss-Seidel:

4.00x1
0.09x1

0.04x1
L. A. P. Cant
ao

+ 0.24x2
+ 3.00x2

0.08x3
0.15x3

=
=

8.00
9.00

0.08x2

4.00x3

20.00
24

Captulo 2. Sistemas de Equac


oes Lineares

CNC

2.2.3 Converg
encia dos M
etodos de Jacobi e Gauss-Seidel
As condic
oes de convergencia de verificac
ao simples para os metodos de Jacobi e Gauss-Seidel s
ao:
1. Os metodos iterativos de Jacobi e Gauss-Seidel convergem se a matriz A e diagonalmente dominante, ou
n
X
seja: |aii | >
|aij |, i = 1 : n.
j6=i

2. Os metodos iterativos de Jacobi e Gauss-Seidel convergem se A e uma matriz positiva definida: xT Ax > 0
para todo x 6= 0.

2.3 Exerccios
1. Para cada um dos sistemas lineares seguintes, obtenha uma soluc
ao por meio de metodos gr
aficos, se possvel.
Explique os resultados do ponto de vista geometrico.
(

x1
x1

+ 2x2
x2

x1

x2

x1

x2

(a)
(b)
(
(c)
(
(d)
(
(e)

2x1 +
(f)
x1 +

x1

2x1 +
(g)
4x1 +

x1
(
2x1 +
(h)
2x1 +

= 3
= 0

x1

2x2

2x1

4x2

x1

x2

2x1

4x2

x1

2x2

2x1

4x2

x2
x2

=
=

1
2

3x2

x2

2x2
3x2

=
=

2
5

x2

+ x3

4x2

x3

= 1

2. Utilize o metodo de Gauss usando operac


oes com arredondamento para dois dgitos para resolver os sistemas
lineares a seguir. N
ao reordene as equac
oes. (A soluc
ao exata para cada sistema e x1 = 1, x2 = 1 e
x3 = 3.)
(a)

(b)
4x1

x2

x3

4x1

x2

2x3

2x1

5x2

2x3

2x1

4x2

x3

= 5

x1

2x2

4x3

11

x1

x2

3x3

= 9

3. Considere os seguintes sistemas:


(i) Soluc
ao real: (0, 10, 1/7)T

3.03x1
3.03x1

6.11x1

12.1x2

14x3

119

12.1x2

7x3

120

14.2x2

21x3

139

(ii) Soluc
ao real: (10, 1)T
(

L. A. P. Cant
ao

0.03x1
5.31x1

+ 58.9x2
6.10x2

= 59.2
= 47.0

25

Captulo 2. Sistemas de Equac


oes Lineares

CNC

(iii) Soluc
ao real: (0.17682530, 0.01269269, 0.02065405, 1.18260870)T

1.19x1

14.2x
1

15.3x

2.11x2

0.122x2

100x3

x4

1.12

12.2x3

x4

3.44

100x2

99.9x3

x4

2.15

0.110x2

13.1x3

x4

4.16

(iv) Soluc
ao real: (0.78839378, 3.12541367, 10.16759660, 4.55700252)T

x1

2 x
1

5x1

3 x
1

e x2

e x2

6x2
2
e x2

2x3

e x3

x3

7x3

3x4

11

3
7 x4

2x4
1
9 x4

=
=

(a) Resolva os sistemas acima usando o metodo de Eliminac


ao de Gauss e operac
oes aritmeticas com
aproximac
ao de tres dgitos por truncamento.
(b) Repita o item acima usando o metodo de Eliminac
ao de Gauss com Pivoteamento.
(c) Resolva os sistemas acima usando Fatorac
ao LU e operac
oes aritmeticas com aproximac
ao de tres
dgitos por truncamento.
(d) Calcule o erro relativo dos itens acima.
(e) Verifique se os sistemas acima s
ao convergente se aplicarmos os Metodos Iterativos de Jacobi e GaussSeidel. Justifique sua resposta.
4. Sejam o sistemas lineares:

x1 0.5x2 + 0.5x3
(a)
x1 + x2 + x3

0.5x1 0.5x2 + x3

12

10

2 3

(b)

8 1

x1

48


4
2

x2 =


1
x3 11
x4
150
20

Resolva-os usando os metodos de Jacobi e Gauss-Seidel e verifique a convergencia dos metodos. Justifique
os resultados. [ (a) x = (2, 4, 6)T , (b) x = (3, 1, 5, 7)T ]
5. Resolva os sistemas lineares:

x1 3x2 + 5x3 + 6x4

8x1 + 4x2 x3
(a)

3x1 + 2x2 2x3 + 7x4

x + 2x + 5x 4x
1
2
3
4

17

29

= 11
=

(b) 3

x1

13

4 x2 8
x3
50
14 5

usando o metodo de Eliminac


ao de Gauss com e sem pivoteamento. Compare e verifique os resultados. [
(a) x = (4.6077, 0.3757, 3.1215, 1.1878)T ]
6. Efetue os c
alculos, utilizando apenas 4 casas decimais:

L. A. P. Cant
ao

6 3

(a) 1

3.001

x1

2 x2 9
9
x3
29

(b)

x1 + 2x2 + 3x3
5x1 x2 + 4x3
2x1 + 4x2 + x3

17

= 2
=

25

26

Captulo 2. Sistemas de Equac


oes Lineares

CNC

usando Fatorac
ao LU. Verifique a unicidade e a exatid
ao das soluc
oes.
7. Calcule o determinante da matriz A usando Fatorac
ao LU.

0
2
1
4 1
3

1
2 1
3
4
0

0
1
1 1
2 1

A=

2
3 4
2
0
5

1
1
1
3
0
2

1 1
2 1
2
0
8. Resolva os sistemas abaixo usando Fatorac
ao LU:
(a)
1.012x1

2.132x2

2.132x1
3.104x1

+ 4.096x2
7.013x2

7.013x3
+ 0.014x3

3.104x3

1.984

= 5.049
= 3.895

(b)
2.1756x1

4.0231x2

4.0231x1

6.0000x2

1.0000x1
6.0235x1

2.1732x3

5.2107x2
+

5.1967x4

1.1973x4

= 6.1593

1.1111x3
4.1561x4

7.0000x2

17.102

3.0004

0.0000

9. Considere as matrizes abaixo:

(a) A = 1

1
1

(b) B =

1 1

10

(c) C = 1

(d) D = 1
4

2
4

0
1

1
1

2
3

Calcule as suas matrizes inversas usando:


Fatorac
ao LU;
Metodo de Eliminac
ao de Gauss.
10. Seja o sistema linear Ax = b, dado por:

10

x1

6 x2 = 1
10
x3
7

(a) Determine a inversa da matriz dos coeficientes pelo metodo de Eliminac


ao de Gauss.
(b) Resolva o sistema linear dado utilizando a matriz inversa obtida no item (a).

L. A. P. Cant
ao

27

CAPITULO

Equac
oes N
ao-Lineares
Introduc
ao
A necessidade de encontrar valores de x = x que satisfacam a equac
ao f (x) = 0 aparece freq
uentemente
em uma ampla variedade de problemas provenientes das Ciencias e das Engenharias. Estes valores especiais s
ao
chamados de razes da equac
ao f (x) = 0, ou zeros da func
ao f , os quais podem ser vistos na figura 3.1, que
mostra quando a func
ao f (x) = cos x = 0.
y
1.0
0.8

y = cos x

0.6
0.4
0.2
0

x1

x2

x3

x4

0.2
0.4
0.6
0.8
1.0
7

Figura 3.1: Razes da func


ao f (x) = cos x.
Para equac
oes algebricas de grau ate quatro, as razes podem ser calculadas analiticamente por meio de uma

express
ao tal como x = (b b2 4ac)/2 para determinar as duas razes de f (x) = ax 2 + bx + c = 0. No
entanto, para equac
oes algebricas de grau superior a quatro e para a grande maioria das equac
oes transcendentes,
as razes n
ao podem ser calculadas analiticamente. Nestes casos tem de usar metodos que encontrem uma soluc
ao
aproximada para estas razes.
O problema de calcular uma raiz pode ser dividido em duas fases:

Captulo 3. Equac
oes N
ao-Lineares

CNC

Fase I: Isolamento da raiz, isto e, encontrar um intervalo [a, b] que contenha uma, e somente uma, raiz de
f (x) = 0.
Fase II: Refinamento da raiz, que consiste em, escolhidas aproximac
oes iniciais no intervalo encontrado
na Fase I, melhor
a-las sucessivamente ate obter uma aproximac
ao para a raiz dentro de uma precis
ao 
pre-fixada.

3.1 Fase I: Isolamento das Razes


Nesta fase e feita uma an
alise te
orica e gr
afica da func
ao f (x). Na an
alise te
orica usamos freq
uentemente o
teorema:
Teorema 2. Seja f (x) uma func
ao contnua num intervalo [a, b]. Se f (a) f (b) < 0 ent
ao existe pelo menos um
ponto x [a, b] tal que f (x) = 0. Alem disso, se f 0 (x) n
ao muda de sinal em [a, b] ent
ao x e a
unica raiz de f (x)
neste intervalo.
A Figura 3.2 exemplifica o Teorema 2 e a Figura 3.3, o caso onde h
a raiz mas n
ao satisfaz as condic
oes do
Teorema.
0.6

0.4

0.2

0.2

0.4

0.6

0.8

1.0
1.0

1.2

1.4

1.6

1.8

2.0

2.2

2.4

2.6

2.8

3.0

Figura 3.2: Ampliac


ao da func
ao f (x) = cos x no intervalo x [1, 3]. Note que f 0 (x) = sen x e f 0 (x) < 0 neste
intervalo.
A an
alise gr
afica da func
ao f (x) ou da equac
ao f (x) = 0 e fundamental para obter boas aproximac
oes para a
raiz. Para tanto, podemos executar os seguintes procedimentos:

1. Esbocar o gr
afico da func
ao f (x) e localizar as abscissas dos pontos onde a curva intercepta o eixo
ox;
2. A partir da equac
ao f (x) = 0, obter a equac
ao equivalente g(x) = h(x), esbocar os gr
aficos das func
oes
g(x) e h(x) no mesmo eixo cartesiano e localizar os pontos x onde as duas curvas se interceptam, pois neste
caso f (x) = 0 g(x) = h(x);
3. Usar os programas que tracam gr
aficos de func
oes, disponveis em algumas calculadoras ou softwares matem
aticos.

L. A. P. Cant
ao

29

Captulo 3. Equac
oes N
ao-Lineares

CNC

240

1.0

0.9
200
0.8

0.7
160
0.6

120

0.5

0.4
80
0.3

0.2
40
0.1

0
3

0
2

0.5

0.1

0.3

0.7

1.1

(a)

1.5

1.9

2.3

2.7

(b)

Figura 3.3: f (x) = 4x 2 4x 3 + x 4 .


Exemplo 17.
1. f (x) = x 3 9x + 3: Neste caso, somente o passo (1) e necess
ario para localizar as possveis razes. Porem
a Figura 3.4 mostra os tres passos.
31

64.0

23

45.7

15

27.4

9.1

9.1

27.4

17

45.7

64.0

25
4

(a)

(b)

Figura 3.4: (a) f (x) = x 3 9x + 3, (b) g(x) = x 3 e h(x) = 9x 3.

2. f (x) = x 5 ex : Neste caso, e mais conveniente usar os passos (2) e (3). Assim, x 5 ex = 0

x = 5 ex = g(x) = x e h(x) = 5 ex . A Figura 3.5 ilustra as func


oes f (x), g(x) e h(x).

L. A. P. Cant
ao

30

Captulo 3. Equac
oes N
ao-Lineares

CNC

5.00

1.91

h(x)

0.92

4.29

f (x)
0.07

3.57

1.05

2.86

2.04

2.14

g(x)

3.03

0.71

4.01

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

5.00
4.0

0.0

0.5

1.0

1.5

(a)

Figura 3.5: (a) f (x) =

1.43

2.0

2.5

3.0

3.5

0.00
4.0

(b)

x 5 ex , (b) g(x) =

x e h(x) = 5 ex .

3.2 Fase II: Refinamento


Ser
ao apresentados aqui tres metodos numericos de refinamento da raiz: o metodo da Bissec
ao, de Newton e
das Secantes. A forma como se efetua o refinamento e o que diferencia os metodos. Porem, antes de descrever
estes metodos, veremos os criterios de parada adotados.

3.2.1 Crit
erio de Parada
O criterio de parada interrompe a seq
uencia gerada pelos metodos. Este deve avaliar quando xk , na k-esima
iterac
ao, est
a suficientemente pr
oximo da raiz exata. Contudo, o valor exato da raiz e desconhecido na maioria
dos casos, logo, o processo e interrompido quando pelo menos um dos criterios a seguir e satisfeito:
1. Avaliac
ao do ponto na func
ao:
|f (xk )| ;
2. Avaliac
ao do tamanho do intervalo:
|xk xk1 | 

ou



xk xk1

;


xk

para  suficientemente pequeno (precis


ao desejada).

3.2.2 M
etodo da Bissec
ao
Seja f (x) uma func
ao contnua no intervalo [a, b] e tal que f (a) f (b) < 0, ou seja, f satisfaz as condic
oes do
Teorema 2.
Suponha que o intervalo (a, b) contenha uma
unica raiz da equac
ao f (x) = 0. O objetivo deste metodo e
reduzir a amplitude do intervalo que contem a raiz ate se atingir a precis
ao requerida, neste caso (b a) < ,
usando para isto a sucessiva divis
ao de [a, b] ao meio. A Figura 3.6 mostra este processo.
Os passos para a execuc
ao deste metodo s
ao dados pelo Algoritmo 8.

L. A. P. Cant
ao

31

Captulo 3. Equac
oes N
ao-Lineares

CNC

x0 = a1 = a2 = a3
x

a = a0

b = b0 = b1
x2 = b3

x1 = b2

Figura 3.6: O metodo da Bissec


ao graficamente.
Dado f (x), a e b tais que f (a) f (b) < 0, max, 
Para k = 0 at
e k = max faca
a+b
2:
xk =
2
3:
Se f (a) f (xk ) < 0 ent
ao
1:

b = xk

4:
5:

Caso contr
ario
a = xk

6:
7:

Fim do condicional

8:

Se |b a|  ent
ao
a+b
PARE, x =
e raiz aproximada de f (x)
2
Fim do condicional

9:
10:
11:

Fim do laco
Algoritmo 8: Metodo da Bissec
ao

Exemplo 18. Aplique o metodo da Bissec


ao para encontrar a raiz de f (x) = x 3 9x + 3 no intervalo I = [0, 1],
para  = 103 (a Tabela 3.1 apresenta os passos deste exemplo).

3.2.3 M
etodo de Newton
Isaac Newton (16421727) publicou seu metodo para encontrar razes de equac
oes n
ao-lineares em 1687. Este
metodo tambem e conhecido como Newton-Raphson, devido `
a sistematizac
ao apresentada por Joseph Raphson
em 1690.
O metodo de Newton combina duas ideias comuns nas aproximac
oes numericas: linearizac
ao e iterac
ao. A
linearizac
ao substitui a curva y = f (x) por sua reta tangente.
Seja x0 uma aproximac
ao inicial da raiz, como ilustra a Figura 3.7. Aproximando a curva y = f (x) por sua reta
tangente tracada no ponto (x0 , f (x0 )) obtemos a aproximac
ao linear. Encontrando o ponto de intersecc
ao desta
reta com o eixo x, obteremos uma nova aproximac
ao para a raiz, o ponto x1 da figura.

L. A. P. Cant
ao

32

Captulo 3. Equac
oes N
ao-Lineares

CNC

xk = (a + b)/2

0
1
2
3
4
5
6
7
8
9
10

0
0
0.25
0.25
0.3125
0.3125
0.328125
0.3359375
0.3359375
0.3359375
0.336914

1
0.5
0.5
0.375
0.375
0.34375
0.34375
0.34375
0.3398438
0.3378906
0.3378906

0.5
0.25
0.375
0.3125
0.34375
0.328125
0.3359375
0.3398438
0.78906
0.336914
0.3374023

f (xk )

f (a) f (xk )

1.375
0.765625
0.3222656
0.2180176
0.0531311
0.0713582
0.0144744
0.0193443
0.0024384
0.0060175
0.0017893

()
(+)
()
(+)
()
(+)
(+)
()
()
(+)

|b a|
0.5
0.25
0.125
0.06
0.03125
0.014375
0.0078125
0.0039063
0.0019531
0.0009766

Tabela 3.1: Resultado do Exemplo 18.

y
y = f (x)

x2

x1

x0

Figura 3.7: O metodo de Newton-Raphson.


O processo iterativo ser
a obtido pela repetic
ao do procedimento. A nova aproximac
ao, representada na Figura
3.7 pelo ponto x2 , foi calculada a partir da reta tangente `
a curva y = f (x) no ponto (x1 , f (x1 )).
Para estabelecer express
oes analticas que permitam o c
alculo de x1 , x2 , . . . observamos que a tangente do

angulo pode ser obtida tanto da definic


ao da func
ao trigonometrica tangente quanto pela derivada de f (x) no
ponto x0 (inclinac
ao da reta tangente). Assim, da Figura 3.7, temos:
tg() =

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

x1 = x0

f (x0 )
f 0 (x0 )

tg() =

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

x2 = x1

f (x1 )
f 0 (x1 )

Genericamente, o processo consiste em evoluir da aproximac


ao xk para a aproximac
ao xk+1 usando a f
ormula:
xx+1 = xk

f (xk )
f 0 (xk )

(3.1)

O metodo de Newton-Raphson est


a esquematizado no Algoritmo 9.
Exemplo 19. Aplique o metodo de Newton para encontrar a raiz de f (x) = x 3 9x + 3 tomando x0 = 0.5, para
 = 104 (a Tabela 3.2 apresenta os passos deste exemplo).
L. A. P. Cant
ao

33

Captulo 3. Equac
oes N
ao-Lineares

CNC

Dado x0 , f (x), f 0 (x), max e 


Para k = 0 at
e k = max faca
f (xk )
2:
xx+1 = xk 0
f (xk )
3:
Se |f (xk+1 )|  ou |xk+1 xk |  ent
ao
1:

4:

PARE, x = xk+1

5:

Fim do condicional

6:

Se k = max ent
ao

7:
8:
9:

PARE, o metodo n
ao converge para a soluc
ao.
Fim do condicional
Fim do laco
Algoritmo 9: Metodo de Newton-Raphson
k

xk

f (xk )

f 0 (xk )

|xk+1 xk |

0
1
2
3

0.5
0.3333
0.3376068
0.337609

1.375
0.0370
0.0000183
4.545 1012

8.25
8.6667
8.6581

1.6667
0.0042735
0.0000021

Tabela 3.2: Resultado do Exemplo 19.

Ordem de Convergencia Metodo de Newton


Definic
ao 2. Sejam {xk } o resultado da aplicac
ao de um metodo numerico na iterac
ao k e ek = |xk x| o seu
erro. Se existirem um n
umero p e uma constante C tais que:
|ek+1 |
=C
k |ek |p
lim

ent
ao a ordem de convergencia e p desse metodo.
Teorema 3. [4] Se f , f 0 e f 00 s
ao contnuas em um intervalo I cujo centro x e soluc
ao de f (x) = 0 e se f 0 (x) 6= 0
ent
ao a ordem de convergencia do Metodo de Newton e quadratica, ou seja, p = 2.
Prova 1. Seja (x) = x

f (x)
. Subtraindo a equac
ao x = (x) de (3.1), obtemos:
f 0 (x)
xk+1 x = (xk ) (x).

Desenvolvendo (xk ) em serie de Taylor em torno do ponto x, obtemos:


xk+1 x = (x) + (xk x)0 (x) +

(xk x)2 00
(k ) (x)
2!

Derivando (x), temos:


0 (x) = 1

L. A. P. Cant
ao

f 0 (x) f 0 (x) f (x) f 00 (x)


(f 0 (x))2
=
1

=11=0
(f 0 (x))2
(f 0 (x))2

34

Captulo 3. Equac
oes N
ao-Lineares

CNC

lembrando que f (x) = 0. Ent


ao:
xk+1 x = (x) +
Escrevendo:

(xk x)2
00 (x)(k ) (x)
2!

00 (k )
|xk+1 x|
=
C.
2
|xk x|
2!

Logo, a ordem de convergencia e p = 2.


Assim, o metodo de Newton tem convergencia quadr
atica. Isso significa que a quantidade de dgitos significativos corretos duplica `
a medida que os valores da sequencia se aproxima de x. A desvantagem do metodo de
Newton est
a no fato de termos de calcular a derivada da func
ao e, em cada iterac
ao, calcular o seu valor numerico,
pode ser muito caro computacionalmente. Alem disso, a func
ao pode ser n
ao diferenci
avel em alguns pontos do
domnio.

3.2.4 M
etodo da Secante
Uma grande desvantagem do metodo de Newton e a necessidade de se obter f 0 (x) e calcular seu valor numerico
a cada iterac
ao. Uma alternativa e usar retas secantes como aproximac
oes lineares locais da func
ao, em vez de
tangentes. Neste caso, s
ao necess
arias duas aproximac
oes para inicializarmos o processo, x0 e x1 .

y
y = f (x)
C = (x0 , f (x0 ))
D
E
x

A x1

B
x0

Figura 3.8: O metodo das Secantes.


No metodo da Secante, tomamos a reta que passa pelos pontos (x0 , f (x0 )) e (x1 , f (x1 )) como uma aproximac
ao
linear da curva y = f (x), como indica a Figura 3.8.
Para estabelecermos a relac
ao de recorrencia do Metodo da Secantes, usamos a semelhanca de tri
angulos ABC
e AED:

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

onde x2 e o ponto denotado por A na Figura 3.8. Explicitando o valor da inc


ognita x2 teremos:
x2 =

x0 f (x1 ) x1 f (x0 )
.
f (x1 ) f (x0 )

Generalizando, no metodo das secantes usamos duas aproximac


oes xk1 e xk , para calcular uma nova apro-

L. A. P. Cant
ao

35

Captulo 3. Equac
oes N
ao-Lineares

CNC

ximac
ao xk+1 , atraves da f
ormula:
xk+1 =

xk1 f (xk ) xk f (xk1 )


.
f (xk ) f (xk1 )

O Algoritmo 10 sistematiza o procedimento para o metodo das Secantes.


Dado x0 , x1 , f (x), max e 
Para k = 1 at
e k = max faca
xk1 f (xk ) xk f (xk1 )
2:
xk+1 =
f (xk ) f (xk1 )
3:
Se |f (xk+1 )|  ou |xk+1 xk |  ent
ao
1:

4:

PARE, x = xk+1

5:

Fim do condicional

6:

Se k = max ent
ao

7:
8:
9:

PARE, o metodo n
ao converge para a soluc
ao.
Fim do condicional
Fim do laco
Algoritmo 10: Algoritmo para o Metodo das Secantes

Exemplo 20. Aplique o metodo das Secantes para encontrar a raiz de f (x) = x 3 9x + 3 tomando x0 = 0 e
x1 = 1, para  = 104 (a Tabela 3.3 apresenta os passos deste exemplo).
k

xk1

xk

f (xk1 )

f (xk )

|xk+1 xk |

1
2
3
4
5

0
1
0.375
0.3319415
0.3376346

1
0.375
0.3319415
0.3376346
0.337609

3
5
0.3222656
0.0491011
0.0002222

5
0.3222656
0.0491011
0.0002222
1.464 107

0.625
0.0430585
0.0056931
0.0000256

Tabela 3.3: Resultado do Exemplo 20.

Ordem de Convergencia Metodo da Secante

1+ 5
Teorema 4. [4] A ordem de convergencia do metodo da Secante e p =
' 1.618.
2
Note que, apesar da ordem de convergencia do metodo da Secante ser inferior `
a do metodo de Newton, ele
fornece uma alternativa vi
avel, desde que requer somente um c
alculo da func
ao f por passo, enquanto dois c
alculos
(f (xk ) e f 0 (xk )) s
ao necess
arios para o metodo de Newton.

3.3 Sistemas N
ao-Lineares
Resolver um problema de equac
oes n
ao-lineares e uma tarefa complexa, eventualmente contornada aproximandose o problema original por um sistema de equac
oes lineares. Quando essa soluc
ao e insatisfat
oria, o problema deve
ser atacado diretamente.

L. A. P. Cant
ao

36

Captulo 3. Equac
oes N
ao-Lineares

CNC

A principal ferramenta para resolver uma equac


ao n
ao-linear e o Metodo de Newton. Essa tecnica ser
a modificada para resolver um sistema de equac
oes n
ao-lineares.

3.3.1 M
etodo de Newton para Sistemas N
ao-Lineares
Considere n func
oes : f1 , f2 , . . . , fn , onde cada uma delas e uma func
ao de n vari
aveis fi : Rn R para
i = 1, 2, . . . , n, ou seja, x1 , x2 , . . . , xn . Queremos encontrar os valores de x1 , x2 , . . . , xn tais que:

f1 (x1 , x2 , . . . , xn )

f2 (x1 , x2 , . . . , xn )
..

fn (x1 , x2 , . . . , xn )

=
..
.

0
..
.

(3.2)

Considere o seguinte exemplo:


(

x1 (x1 + 1) + 2x2
2

(x1 1) + (x2 6)

18

25

Aqui, procuramos x1 e x2 , tais que:


f1 (x1 , x2 )

x1 (x1 + 1) + 2x2 18

f2 (x1 , x2 )

(x1

1) +

(x2

6) 25

Usando a notac
ao vetorial, temos:
x

(x1 , x2 , . . . , xn ) ,

F(x)

(f1 (x), f2 (x), . . . , fn (x))

Assim, o sistema (3.2) pode ser representado por uma


unica equac
ao vetorial, F(x) = 0.
Como foi feito no caso de uma equac
ao n
ao-linear, a ideia da linearizac
ao ser
a usada no caso de sistemas.
Tomando a serie de Taylor como uma aproximac
ao de func
oes, em torno de xk , para uma func
ao escalar, temos:
f (x) = f (xk ) + f 0 (xk )(x xk ) +

f (n) (xk )
f (n+1) ()
f 00 (xk )
(x xk )2 + +
(x xk )n +
(x xk )n+1
2!
n!
(n + 1)!

onde x xk . O
ultimo termo desta express
ao representa o erro da aproximac
ao de f (x) pelo polin
omio de
grau n, o polin
omio de Taylor, formado pelos n + 1 primeiros termos da expans
ao em serie de Taylor.
Observe que, se tomarmos a aproximac
ao linear (usando os dois primeiros termos da serie de Taylor), teremos:
f (x) f (xk ) + f 0 (xk )(x xk ).
Se usarmos esta aproximac
ao linear para encontrar a raiz de f (x) = 0,
f (
x) 0

se

f (xk ) + f 0 (xk )(
x xk ) = 0,

ou ainda, explicitando x temos,


x = xk

f (xk )
.
f 0 (xk )

(3.3)

Assim, a serie de Taylor e outra maneira de se obter a func


ao de iterac
ao do metodo de Newton.

L. A. P. Cant
ao

37

Captulo 3. Equac
oes N
ao-Lineares

CNC

Aplicando esta ideia para resolver o sistema (3.2), temos a aproximac


ao de Taylor como:
F(x)

F(xk ) + F0 (xk )(x xk ) + E

aproximac
ao linear + erro

(3.4)

onde xk = vetor aproximac


ao na k-esima iterac
ao e E e um vetor que representa o erro da aproximac
ao linear.
Analogamente `
a serie de Taylor de func
oes de uma vari
avel, kEk Ckx xk k2 para alguma constante C, quando
xk x.
Note que, xk denota o vetor obtido na k-esima iterac
ao: xk = (x1k , x2k , . . . , xnk ).
Em (3.4), F0 (x) e a derivada de uma func
ao vetorial com vari
aveis vetoriais. Esta derivada e uma matriz que
contem todas as derivadas parciais de todos os componentes da func
ao F(x), a matriz Jacobiana de F(x),
J(x) = F0 (x) = [Jij ] =


fi (x)
.
xj

Para estabelecer o metodo iterativo, a aproximac


ao na iterac
ao k + 1 ser
a definida pelo vetor que anula a parte
linear da equac
ao (3.4), isto e, o vetor xk+1 e tal que:
F(xk ) + J(xk )(xk+1 xk )

J(xk )(xk+1 xk )

F(xk )

(3.5)

Para explicitar xk+1 , multiplicamos a equac


ao acima pela inversa da Jacobiana e teremos:
xk+1 = xk J1 (xk ) F(xk ),
que e uma generalizac
ao de (3.3) para o caso de sistemas n
ao-lineares.
Como a invers
ao de matrizes e um processo trabalhoso e computacionalmente caro, evitamos este c
alculo
fazendo:
= J1 (xk ) F(xk )

v
k

= F(xk )

J(x ) v

Ou seja, o c
alculo das equac
oes acima envolve um sistema de equac
oes lineares para a aproximac
ao da iterac
ao
k + 1. Assim, a nova aproximac
ao ser
a:
xk+1 = xk + v
O metodo de Newton para Sistemas n
ao-Lineares e dado pelo algoritmo (11)
Exemplo 21. Resolva o sistema que segue, usando o metodo de Newton para equac
oes n
ao-lineares.
f1 (x1 , x2 )

2x13 x22 1 = 0

f2 (x1 , x2 )

x1 x23 x2 4 = 0

As derivadas parciais desta func


ao s
ao:

L. A. P. Cant
ao

f1
= 6x12
x1

f1
= 2x2
x2

f2
= x23
x1

f2
= 3x1 x22 1
x2

38

Captulo 3. Equac
oes N
ao-Lineares

Dado x0 , fi para i = 1, 2, . . . , n,
1:

fi
xj

CNC

para j = 1, 2, . . . , n, 1 e 2

Para k = 1 at
e k = max faca
Para i = 1 at
e i = n faca

2:
3:

Fi = fi (xk1 )

4:

Para j = 1 at
e j = n faca
fi k1
(x )
Jij =
xj
Fim do laco

5:
6:
7:

Fim do laco

8:

Resolva o sistema Jv = F

9:

xk = xk+1 + v
Se max1in |fi (x k )| < 1 ent
ao

10:

Ent
ao x = xk

11:
12:

Fim do condicional

13:

... ou ...

14:

ao
Se max1in |xik xik1 | < 2 ent
Ent
ao x = xk

15:

Fim do condicional

16:
17:

Fim do laco
Algoritmo 11: Metodo de Newton para Sistemas N
ao-Lineares

e, portanto, a matriz Jacobiana e:


"
J(x1 , x2 ) =

6x12

2x2

x23

3x1 x22 1

Tomando um aproximac
ao inicial x0 = (1.2, 1.7) temos:
"
J(x0 ) =

8.64

3.4

4.91

9.4

"
e

F(x0 ) =

0.4340

0.1956

Resolvendo o sistema J(xk ) v = F(xk ) encontramos:


v = (0.03488, 0.03902)T
Assim,
x1 = (1.2349, 1.6610)T .
Para o c
alculo de uma nova aproximac
ao recalculamos F(x1 ) e a matriz Jacobiana em x1 . Resolvendo o sistema
linear para obter v, temos que:
x2 = (1.2343, 1.6615)T
Podemos testar as aproximac
oes obtidas calculando os respectivos f1 e f2 :

L. A. P. Cant
ao

f1 (x0 ) = 0.4340

f2 (x0 ) = 0.1956

f1 (x1 ) = 7.4607 103

f2 (x1 ) = 1.9876 103

f1 (x2 ) = 1.2779 104

f2 (x2 ) = 3.202 104


39

Captulo 3. Equac
oes N
ao-Lineares

CNC

Observe que a soluc


ao do sistema e o c
alculo do Jacobiano, a cada iterac
ao, s
ao dispendiosos. Para economizar
os c
alculos, podemos manter uma matriz Jacobiana fixa em algumas iterac
oes. Neste caso, a decomposic
ao LU
e adequada na soluc
ao do sistema, pois a mesma e usada em algumas iterac
oes, atualizando-se apenas o termo
independente do sistema.

3.4 Exerccios
1. Localize graficamente as razes das equac
oes a seguir:
(a) 4 cos x e2x = 0;
x
tg x = 0
(b)
2

(e) x 3 + x 1000 = 0.

(c) 1 x ln x = 0;
(d) 2x 3x = 0;

2. Calcular pelo menos uma raiz de cada equac


ao abaixo com  0.001 pelo metodo da Bissec
ao.
(a) f (x) = e2x 2x 3 5 = 0;
(b) f (x) = 2x 3 5x 2 x + 3 = 0;
(c) f (x) = 5x 2 + log(x + 1) 2 = 0.
3. Seja f (x) = (x + 2)(x + 1)x(x 1)3 (x 2). Para que zero de f o metodo da Bissec
ao vai convergir quando
for aplicado nos seguintes intervalos ?
(a) [3, 2.5]

(b) [2.5, 3]

(x = 2)

(x = 2)

4. Encontre um valor aproximado para


(a) Metodo da Bissec
ao;

(c) [1.75, 1.5]

(d) [1.5, 1.75]

(x = 1)

(x = 1)

3 com precis
ao de 104 utilizando:

(b) Metodo da Secante;

(c) Metodo de Newton.

5. Determinar pelo menos uma raiz de cada equac


ao abaixo com  104 usando o metodo das Secantes.
(a) f (x) = 2x 3 5x 2 10x + 20 = 0;
(b) f (x) = 5 log x + 3x 4 7 = 0;
(c) f (x) = 2x + (cos x)x 2 = 0
6. Achar pelo menos uma raiz positiva de cada equac
ao com  105 pelo metodo de Newton.
(a) 4x 3 + x + cos x 10 = 0;
(b) x 4 2x 3 + 2x 1 = 0;
(c) f (x) = (x 2)(ex2 1) = 0.
7. A func
ao f (x) = (4x 7)/(x 2) se anula em x = 7/4. Calcule as iterac
oes do metodo de Newton partindo
das aproximac
oes iniciais:
(a) x0 = 1.625;

(c) x0 = 1.5;

(e) x0 = 3;

(b) x0 = 1.875;

(d) x0 = 1.95;

(f) x0 = 7.

Explique graficamente seus resultados.


L. A. P. Cant
ao

40

Captulo 3. Equac
oes N
ao-Lineares

CNC

possvel usar o metodo da Bissec


8. Seja f (x) = (4x 7)/(x 2). Verifique que f (1.8)f (3) < 0. E
ao para
localizar razes neste intervalo ? Explique.
9. Demonstrar que a raiz

a, a 0 pode ser calculada pela f


ormula de recorrencia:
xk+1

1
=
p

(p 1)xk +

a
xkp1

x0 > 0.

10. A func
ao f (x) = tg(x) 6 tem um zero em x = (1/) arctan 6 0.447431543. Considerando x0 = 0 e
x1 = 0.48, use 10 iterac
oes para cada um dos seguintes metodos para calcular o valor aproximado dessa raiz.
Que metodo e mais bem-sucessido ? Por que ?
(a) Metodo da Bissec
ao;

(b) Metodo da Secante.

11. Use o Metodo de Newton com x0 = 0 para calcular x2 para cada um dos seguintes sistemas n
ao lineares:
(
(a)

4x12 20x1 + 14 x22 + 8 = 0


1
2
2 x 1 x2

+ 2x1 5x2 + 8 = 0

(c)

Resp.: x2 = (0.4958936, 1.983423)T

3x1 cos(x2 x3 )
4x12 625x22
x1 x2
e

1
2

=0

+ 2x2 1 = 0

+20x3 +

103
3

=0

(b)

sen(4x1 x2 ) 2x2 x1 = 0


4 1
4

(e2x1 e) + 4ex22 2ex1 = 0

Resp.: x2 = (0.5131616, 0.01837622)T

Resp.: x = (0.5001667, 0.2508036, 0.5173874)T

x12 + x2 37 = 0

(d)
x1 x22 5 = 0

x1 + x2 + x3 3 = 0
Resp.: x2 = (4.350877, 18.49123, 19.84211)T

12. Use o metodo de Newton para encontrar uma soluc


ao para os seguintes sistemas n
ao-lineares nos domnios
dados. Faca iterac
oes ate kxk xk1 k < 106 .
(c) Use x0 = (1, 2, 1)T

(a) Use x0 = (1, 1)T


(

3
2

x1 + x1 x2 x1 x3 + 6 = 0
ex1 + ex2 x3 = 0

x22 2x1 x3 = 4

3x12 x22 = 0
3x1 x22 x13 1 = 0

Resp.: x5 = (0.5000, 0.8660254)T

Resp.: x5 = (1.456043, 1.66423, 0.4224934)T


(d) Use x0 = (0, 0, 0)T

(b) Use x0 = (2, 2)T


(

ln(x12 + x22 ) sen(x1 x2 )

ln 2 + ln

ex1 x2 + cos(x1 x2 )

Resp.: x6 = (1.772454, 1.772454)T

L. A. P. Cant
ao

9x2 +

6x1 2 cos(x2 x3 ) 1 = 0
p
x12 + sen x3 + 1.06 + 0.9 = 0
60x3 + 3 ex1 x2 +10 3 = 0

Resp.: x4 = (0.4981447, 0.1996059, 0.528826)T

41

CAPITULO

Ajuste de Curvas
Introduc
ao
Apresentaremos aqui os aspectos b
asicos e te
oricos para ajuste de curvas usando interpolac
ao e aproximac
ao
de func
oes de uma vari
avel real.
Os problemas de interpolac
ao e aproximac
ao estudados surgem ao se aproximar uma func
ao f por outra func
ao
g mais apropriada. Ou ainda, quando h
a a necessidade de aproximar dados tabelados atraves de uma func
ao. Para
isso existem duas classes de metodos e a distinc
ao entre elas est
a em considerarmos, ou n
ao, a existencia de erros
nos dados.
1. Interpolac
ao: os dados s
ao precisos e portanto pode-se exigir que a curva de ajuste passe pelos pontos
dados. Em geral, as func
oes escolhidas para o ajuste s
ao polin
omios.
Estabelece um metodo que permite encontrar um polin
omio que passe por n+1 pontos conhecidos, denotados
por (x0 , y0 ), (x1 , y1 ), ... , (xn , yn )) onde x0 6= x1 6= x2 6= . . . 6= xn .
2. M
etodo dos Quadrados Mnimos: considera-se possveis erros introduzidos na obtenc
ao dos dados.

4.1 Interpolac
ao
Seja a Tabela 4.1.
xi

0.1

0.6

0.8

f (xi )

1.221

3.320

4.953

Tabela 4.1: Dados para interpolac


ao.
O problema consiste em encontrar o valor correspondente de y = f (x) para um dado x n
ao pertencente `
a
tabela. Um modo de resolver este problema e obter uma func
ao que relaciona as vari
aveis x e y . Considerando
que os polin
omios s
ao as func
oes mais simples e estudadas, ent
ao eles s
ao os mais utilizados para determinar esta
relac
ao. Um polin
omio construdo com o intuito de aproximar uma func
ao e denominado polin
omio interpolador.
Assim, para resolver o problema basta avaliar o polin
omio no ponto desejado.
Existem v
arios metodos para construir um polin
omio interpolador a partir de um conjunto de pares de dados.
Aqui, estudaremos o Polin
omio Interpolador de Lagrange e o de Newton.

Captulo 4. Ajuste de Curvas

CNC

4.1.1 Polin
omio Interpolador de Lagrange
Dados y0 = f (x0 ), y1 = f (x1 ), ... , yn = f (xn ), desejamos encontrar um polin
omio p(x) tal que p(x0 ) = f (x0 ),
p(x1 ) = f (x1 ), ... , p(xn ) = f (xn ). A Figura 4.1 ilustra este caso.

p(x)

x2

x1

x0

xn1

xn

Figura 4.1: Exemplo de Interpolac


ao.

Teorema 5. Seja f (x) uma func


ao conhecida nos n + 1 pontos distintos x0 , x1 , x2 , ..., xn . Existe um
unico
polin
omio p(x), de grau menor ou igual a n, tal que:
p(xi ) = f (xi ),

para i = 0 : n.

Prova 2. Seja:
p(x)

f (x0 )l0n (x) + f (x1 )l1n (x) + f (x2 )l2n (x) + . . . + f (xn )lnn (x)
n
X
f (xk )lkn (x)
=

(4.1)

k=0

onde

lkn

s
ao os polin
omios de Lagrange definidos por:
lkn

(x x0 )(x x1 ) . . . (x xk1 )(x xk+1 ) . . . (x xn )


(xk x0 )(xk x1 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn )
n
Y
i=0, i6=k

(4.2)

(x xi )
.
(xk xi )

Sabemos que:
lkn (xk ) = 1

lkn (xi ) = 0

para i 6= k.

Com isso, verificamos que p(x) e o polin


omio interpolador.
A unicidade e conseq
uencia de ser p(x) 0 o
unico polin
omio de grau n que se anula em n + 1 pontos distintos.
De fato, supondo que existam dois polin
omios interpoladores p1 (x) e p2 (x), usamos (4.1) com p(x) = p1 (x)p2 (x)
para mostrar que p(x) 0 e portanto, p1 (x) p2 (x).
O polin
omio interpolador (4.1) e conhecido como F
ormula de Lagrange.
L. A. P. Cant
ao

43

Captulo 4. Ajuste de Curvas

CNC

1
nos pontos x0 = 2, x1 = 2.5 e x2 = 4.
x2
Como ser
ao usados tres pontos, o polin
omio interpolador tem grau 2. Pela substituic
ao dos pontos de inter-

Exemplo 22. Encontre o polin


omio que interpola f (x) =

polac
ao na express
ao 4.2, calculamos os polin
omios de Lagrange:
l02 (x)

(x x1 )(x x2 )
(x0 x1 )(x0 x2 )

(x 2.5)(x 4)
(2 2.5)(2 4)

= x 2 6.5x + 10

l12 (x)

(x x0 )(x x2 )
(x1 x0 )(x1 x2 )

(x 2)(x 4)
(2.5 2)(2.5 4)

4x 2 + 24x + 32
3

l22 (x)

(x x0 )(x x1 )
(x2 x0 )(x2 x1 )

(x 2)(x 2.5)
(4 2)(4 2.5)

x 2 4.5x + 5
3

Lembrando que f (x) =

1
x2 ,

f (x0 ) = f (2) = 0.25, f (x1 ) = f (2.5) = 0.16 e f (x2 ) = f (4) = 0.0625. Usando a

express
ao (4.1) teremos o polin
omio interpolador p2 (x):
p2 (x)

0.16
0.0625 2
(4x 2 + 24x + 32) +
(x 4.5x + 5)
3
3

0.25(x 2 6.5x + 10) +

0.0575x 2 0.4388x + 0.8975

Apenas para comparac


ao, tomando x = 3 teremos p2 (x) = 0.0986, que e uma aproximac
ao de f (3) = 0.1111,
com erro absoluto de 0.0125.
A Figura 4.2 ilustra este exemplo.

L. A. P. Cant
ao

44

L. A. P. Cant
ao

0.17
0.13
0.09
0.05
2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0

0.17

0.13

0.09

0.05
2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0

l02 (x) = x 2 6.5x + 10

0.6
2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0

0.4

0.2

0.2

0.4

x 2 4.5x + 5
3

l22 =

4x 2 + 24x 32
3

0.3
2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0

0.1

0.1

0.3

0.5

0.7

0.9

1.1

1.3

Figura 4.2: Exemplo sobre Interpolac


ao de Lagrange.

l12 =

0
2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0

0.2

0.4

0.6

0.8

1.0

1.2

0.8

0.6

1.4

1.0

p(x) = 0.0575x 2 0.4388x + 0.8975

0.21

0.21

1
x2

0.25

0.25

f (x) =

0.29

0.29

Captulo 4. Ajuste de Curvas


CNC

45

Captulo 4. Ajuste de Curvas

CNC

4.1.2 Erro na Interpolac


ao
O polin
omio interpolador Pn (x) para uma func
ao y = f (x) sobre um conjunto de pontos distintos x0 , x1 , . . . , xn
tem a propriedade:
Pn (xk ) = f (xk ),

k = 0, 1, . . . , n.

Nos pontos x 6= xk nem sempre e verdade que Pn (x) = f (x). Entretanto, para avaliar f (x) nos pontos x 6= xk ,
k = 0, 1, . . . , n, consideramos Pn (x) como uma aproximac
ao para a func
ao y = f (x) em um intervalo que
contenha os pontos x0 , x1 , . . . , xn e calculamos f (x) atraves de Pn (x). Algumas perguntas que surgem s
ao:
i) Podemos ter ideia do erro que cometemos quando substitumos f (x) por Pn (x)?
ii) O polin
omio da interpolac
ao e uma boa aproximac
ao para f (x)?
Teorema 6. (Teorema de Rolle) Seja f (x) contnua em [a, b] e diferenci
avel em cada ponto de (a, b). Se f (a) =
f (b), ent
ao existe um ponto x = , a < < b, tal que f 0 () = 0.
Prova 3. Vide [8] em Aplicac
oes da Derivada.
Teorema 7. (Teorema de Rolle generalizado) Seja n 2. Suponhamos que f (x) seja contnua em [a, b] e que
f (n1) (x) exista em cada ponto de (a, b). Suponhamos que f (x1 ) = f (x2 ) = . . . = 0 para a x1 < x2 < . . . <
xn b. Ent
ao existe um ponto , x1 < < xn , tal que f (n1) () = 0.
Prova 4. Aplicac
ao sucessiva do Teorema de Rolle.
Vejamos agora um teorema que nos fornece uma express
ao do termo do erro.
Teorema 8. Seja f (x) contnua em [a, b] e suponhamos que f (n+1) (x) exista em cada ponto (a, b). Se a x0 <
x1 < . . . < xn b, ent
ao:
Rn (f ; x) = f (x) Pn (f ; x) =

(x x0 ) (x x1 ) . . . (x xn ) (n+1)
f
()
(n + 1)!

(4.3)

onde min{x, x0 , x1 , . . . , xn } < < max{x, x0 , x1 , . . . , xn }. O ponto depende de x.


Prova 5. Vide [4].
O termo Rn (f ; x) na express
ao f (x) = Pn (f ; x) + Rn (f ; x) e chamado termo do erro ou erro de truncamento:
e o erro que se comete no ponto x quando se substitui a func
ao por seu polin
omio de interpolac
ao calculado em x.
A import
ancia do teorema e mais te
orica do que pr
atica, visto que n
ao conseguimos determinar o ponto de
modo que seja v
alida a igualdade (4.3). Na pr
atica, para estimar o erro cometido ao aproximar o valor da func
ao
num ponto por seu polin
omio de interpolac
ao, utilizamos o corol
ario a seguir.
Corolario 4.1.1. Seja Rn (f ; x) = f (x) Pn (f ; x). Se f (x) e suas derivadas ate a ordem n + 1 s
ao contnuas em
[a, b] ent
ao:
|Rn (f ; x)|

|x x0 | |x x1 | . . . |x xn |
max |f (n+1) (t)|.
atb
(n + 1)!

(4.4)

Exemplo 23. Dada a tabela:

L. A. P. Cant
ao

0.1

0.2

0.3

0.4

0.5

e3x

1.3499

1.8221

2.4596

3.3201

4.4817

46

Captulo 4. Ajuste de Curvas

CNC

calcule um limitante superior para o erro de truncamento quando avaliamos f (0.25), onde f (x) = x e3x usando o
polin
omio de interpolac
ao do 2 grau.
Soluc
ao: Tomemos a equac
ao (4.4):
|Rn (f ; x)|

|x x0 | |x x1 | |x x2 |
000
max |f (t)|
x0 tx2
3!

Como f (t) = t e3t segue que:


f 0 (t)

e3t +3t e3t

e3t (1 + 3t)

f 00 (t)

3 e3t +3 e3t +9t e3t

6 e3t +9t e3t

f 000 (t)

18 e3t +27t e3t +9 e3t

27 e3t +27t e3t = 27 e3t (1 + t)

Como queremos estimar o valor de f (0.25) usando o polin


omio do 2 grau, devemos tomar tres pontos consecutivos
na vizinhanca de 0.25. Tomando ent
ao x0 = 0.2, x1 = 0.3 e x2 = 0.4, obtemos:
max

0.2t0.4

|f 000 (0.4)| = 27 e3(0.3) (1 + 0.4) = 125.50042

Estamos, portanto, em condic


oes de calcular um limitante superior para o erro de truncamento. Assim,
|R2 f (f ; x)|

|0.25 0.2| |0.25 0.3| |0.25 0.4|


(125.50042) 0.0078 8 103 .
3!

Pelo resultado obtido, vemos que, se tomarmos um polin


omio do 2 para avaliar f (0.25), obteremos o resultado
com duas casas decimais corretas.
Note que o n
umero de zeros depois do ponto decimal, no resultado do erro, fornece o n
umero de dgitos
significativos corretos que teremos na aproximac
ao.

4.1.3 Polin
omio Interpolador de Newton
Nem sempre temos conhecimento, a priori, do grau adequado para o polin
omio interpolador. Um teste razo
avel
consiste em aumentar o n
umero de pontos de interpolac
ao, crescendo portanto o grau do polin
omio interpolador,
e testar se houve melhoria nos c
alculos. Assim, e importante que o trabalho efetuado anteriormente possa ser
reutilizado para estabelecer a express
ao do novo polin
omio. Note que, ao acrescentarmos um novo ponto ao
polin
omio de Lagrange, teremos de refazer os c
alculos. Por outro lado, o Polin
omio de Newton acrescenta um
novo termo aos c
alculos efetuados anteriormente.
Considere a forma do polin
omio interpolador de Newton:
pn (x) = d0 + d1 (x x0 ) + d2 (x x0 )(x x1 ) + . . . + dn (x x0 )(x x1 ) . . . (x xn1 )

(4.5)

onde cada di , i = 0, 1, 2, . . . , n e conhecido como operador diferencas divididas.

L. A. P. Cant
ao

47

Captulo 4. Ajuste de Curvas

CNC

Operador Diferencas Divididas


Definic
ao 3. [4] Sejam x0 , x1 , . . . , xn , n + 1 pontos distintos no intervalo [a, b], e sejam yo , y1 , . . . , yn , n + 1
valores de uma func
ao y = f (x) sobre x = xk , k = 0, 1, . . . , n. Define-se:
f [xk ]

f [x0 , x1 , . . . , xn ]

f (xk )
k = 0, 1, . . . , n
f [x1 , x2 , . . . , xn ] f [x0 , x1 , . . . , xn1 ]
,
xn x0

onde f [x0 , x1 , . . . , xn ] e a diferenca dividida de ordem n da func


ao f (x) sobre os pontos x0 , x1 , . . . , xn .
Assim, o operador de diferencas divididas, denotado por , e definido como:
Ordem 0:

0 yi

= yi

Ordem 1:

yi

0 yi+1 0 yi
yi+1 yi
=
xi+1 xi
xi+1 xi

= f [xi , xi+1 ]

Ordem 2:

2 yi

yi+1 yi
xi+2 xi

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

n yi

n1 yi+1 n1 yi
xi+n xi

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

= f [xi ]

...
Ordem n:

C
alculo Sistem
atico das Diferencas Divididas
Para calcular as diferencas divididas de uma func
ao y = f (x) sobre os pontos x0 , x1 , . . . , xn , constrmos a tabela
de diferencas divididas (Tabela 4.2).
i

xi

yi = f [xi ]

x0

y0 = f [x0 ]

x1

y1 = f [x1 ]

x2

y2 = f [x2 ]

x3

y3 = f [x3 ]

x4

y4 = f [x4 ]

2 yi = f [xi , xi+1 , xi+2 ]

yi = f [xi , xi+1 ]
f [x1 ] f [x0 ]
x1 x0
f [x2 ] f [x1 ]
f [x1 , x2 ] =
x2 x1
f [x3 ] f [x2 ]
f [x2 , x3 ] =
x3 x2
f [x4 ] f [x3 ]
f [x3 , x4 ] =
]
x4 x3
..
.
Tabela 4.2: C
alculo
f [x0 , x1 ] =

f [x1 , x2 ] f [x0 , x1 ]
x2 x0
f [x2 , x3 ] f [x1 , x2 ]
f [x1 , x2 , x3 ] =
x3 x1
f [x3 , x4 ] f [x2 , x3 ]
f [x2 , x3 , x4 ] =
x4 x2
..
.
f [x0 , x1 , x2 ] =

Sistem
atico

A Tabela 4.2 e construda da seguinte maneira:


1. A primeira coluna atribumos os ndices i das vari
aveis, i = 0, 1, . . . , n.
2. A segunda coluna e constituda dos pontos xi , i = 0, 1, . . . , n;
3. A terceira coluna contem os valores de yi = f (xi ), i = 0, 1, . . . , n;
4. nas colunas 4, 5, 6, . . . est
ao as diferencas divididas de ordem 1, 2, 3, . . . . Cada uma destas diferencas
e uma frac
ao cujo numerador e sempre a diferenca entre duas diferencas divididas consecutivas e de ordem
imediatamente inferior, e cujo denominador e a diferenca entre os dois extremos dos pontos envolvidos.
L. A. P. Cant
ao

48

Captulo 4. Ajuste de Curvas

CNC

xi

f (xi )

29

30

31

62

Exemplo 24. Para a seguinte func


ao tabelada:
construir a tabela de diferencas divididas.
Soluc
ao: Usando o esquema da Tabela 4.2, obtemos:
i

xi

yi = f [xi ]

yi

2 yi

3 y i

4 yi

29 (2)
= 31
1 (2)

1 (31)
= 15
0 (2)

0 (15)
=5
1 (2)

55
=0
2 (2)

29

30 29
=1
0 (1)

11
=0
1 (1)

15 0
=5
2 (1)

30

31 30
=1
10

31 1
= 15
20

31

62 31
= 31
21

62

Note que o elemento 0 corresponde `


a diferenca dividida:
2 yi = f [x1 , x2 , x3 ] =

f [x2 , x3 ] f [x1 , x2 ]
11
= 0.
=
x3 x1
1 (1)

Os resultados a serem utilizados na construc


ao do polin
omio de interpolac
ao na f
ormula de Newton s
ao os
primeiros valores em cada coluna de diferencas, embora tenhamos de construir toda a tabela, pois os valores s
ao
dependentes uns dos outros.

Forma de Newton para o Polin


omio Interpolador
Considere f (x) contnua e deriv
avel no intervalo [a, b], que os pontos x0 , x1 , . . . , xn sejam distintos neste
intervalo e que P (xi ) = yi (P (x) um polin
omio de grau n). Pela definic
ao de diferencas divididas, tem-se:
f [x0 , x] =

f [x] f [x0 ]
, definida em [a, b] para x 6= x0 e n = 1,
x x0

ou
f (x) = f [x0 ] + f [x0 , x](x x0 ).

(4.6)

Para n = 2, procedemos
f [x0 , x1 , x]

f [x0 , x] f [x0 , x1 ]
, definida em [a, b], para x 6= x0 e x 6= x1 ,
x x1

f [x0 , x1 , x](x x1 )

f [x0 , x] f [x0 , x1 ]

L. A. P. Cant
ao

49

Captulo 4. Ajuste de Curvas

CNC

Substituindo esta equac


ao em (4.6), tem-se:
f [x0 , x1 , x](x x1 )

f (x)

f [x] f [x0 ]
f [x0 , x1 ]
x x0

(4.7)

f [x0 ] + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x](x x0 )(x x1 ).

De maneira an
aloga, para n + 1 pontos, temos:
f [x0 , x1 , . . . , xn , x] =

f [x0 , x1 , . . . , xn1 , x] f [x0 , x1 , . . . , xn ]


, definida em [a, b] para x 6= nk , k = 0, 1, . . . , n,
x xn

ou
f (x)

{f [x0 ] + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )

+ f [x0 , x1 , x2 , x3 ](x x0 )(x x1 )(x x2 ) +


+

f [x0 , x1 , . . . , xn ](x x0 )(x x1 ) (x xn1 )}1

(4.8)

+ {f [x0 , x1 , . . . , xn , x](x x0 )(x x1 ) (x xn1 )}2


onde, da f
ormula (4.8), o termo {}1 e a f
ormula de recorrencia para f (x) e {}2 e o termo do erro ou erro de
truncamento, que e o mesmo da forma de Lagrange (para maiores detalhes veja [4]).
Assim, o polin
omio:
Pn (x) = f [x0 ] + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) + + f [x0 , x1 , . . . , xn ](x x0 )(x x1 ) (x xn1 )
(4.9)
e o polin
omio de interpolac
ao da func
ao y = f (x) sobre os pontos x0 , x1 , . . . , xn , conhecido como F
ormula de
Newton do Polin
omio Interpolador.
Exemplo 25. Use o polin
omio de Newton para interpolar os pontos (1, 0), (2, 2), (4, 12) e (5, 20).
Organizando os calculos atraves de uma tabela, temos:
i

xi

yi

yi

2 yi

3 yi

0
1
2
3

1
2
4
5

0
2
12
20

2
5
8

1
1

Tabela 4.3: Tabela de Diferencas Divididas.


Escrevendo o polin
omio de Newton, temos:
P3 (x)

y0 + y0 (x x0 ) + 2 y0 (x x0 )(x x1 ) + 3 y0 (x x0 )(x x1 )(x x2 )

0 + 2(x 1) + 1(x 1)(x 2) + 0(x 1)(x 2)(x 4)

= x(x 1)
Note que, neste exemplo, apesar de usarmos quatro pontos na interpolac
ao (portanto esper
avamos obter um
polin
omio de grau 3), o resultado foi um polin
omio de grau 2. Isto se deve aos quatro pontos estarem sobre uma
par
abola.

4.2 Quadrados Mnimos Lineares


O metodo dos Quadrados Mnimos e a tecnica de aproximac
ao mais usada na an
alise numerica e em problemas
pr
aticos, pois fornece uma aproximac
ao para dados que s
ao medidos com um certo grau de incerteza, buscando
uma aproximac
ao que minimiza os resduos.
L. A. P. Cant
ao

50

Captulo 4. Ajuste de Curvas

CNC

Seja f (x) uma func


ao que ser
a aproximada por g(x). No caso dos quadrados mnimos lineares partimos da
hip
otese de que temos alguma informac
ao sobre o comportamento de g(x).
Suponha que os dados s
ao aproximados por uma func
ao do tipo:
f (x) ' g(x) = c1 1 (x) + c2 2 (x) + . . . cn n (x)

(4.10)

onde as func
oes 1 (x), 2 (x), ..., n (x) s
ao preestabelecidas.
Para cada conjunto de coeficientes ci , i = 1 : n, o resduo de (4.10), em xk , ser
a:
r (xk )

f (xk ) g(xk )

f (xk ) [c1 1 (xk ) + c2 2 (xk ) + . . . cn n (xk )]

r (xk ; c1 , c2 , . . . , cn ).

(4.11)

Assim, precisamos determinar c1 , c2 , ..., cn de maneira a melhorar a aproximac


ao. A ideia do metodo dos
quadrados mnimos e a de minimizar a soma dos quadrados dos resduos, ou seja, minimizar:
m
X

r (xi ) =

i=1

m
X

(f (xi ) g(xi ))2 ,

i=1

onde f (xi ), i = 1 : m, s
ao os dados que ser
ao aproximados.
Quando temos o caso de aproximar f (xk ), uma func
ao conhecida para todo x, por uma express
ao mais simples
g(x), o metodo dos quadrados mnimos minimiza:
Z

r 2 (x) dx =

(f (x) g(x))2 dx.

Definic
ao 4. O produto escalar entre duas func
oes f (x) e g(x) e definido por:
m
X

f (xi )g(xi ),
no caso discreto, isto e, se f (x) e g(x)

i=1

s
ao conhecidos em xi , i = 1 : m.
< f , g >=
Z b

f (x)g(x) dx, no caso contnuo, isto e, se f (x) e g(x)

s
ao conhecidas e integr
aveis em (a, b).

(4.12)

Note que, (4.12) possui as seguintes propriedades:


1. < 1 g1 + 2 g2 , h >= 1 < g1 , h > +2 < g2 , h > Linearidade.
2. < f , g >=< g, h > Comutatividade.
3. < g, g > 0 e < g, g >= 0 g 0 Positividade.
Usando (4.12), minimizando < r, r >, que e uma func
ao de c1 , c2 , ... cn .
Exemplo 26. Regress
ao Linear (quadrados mnimos com uma reta)
Dada uma tabela com m valores (xi , f (xi )), i = 1 : m, queremos encontrar a reta (f (x) ' g(x) = c1 1 (x) +
c2 2 (x)) que melhor ajusta esta tabela, no sentido dos quadrados mnimos. Tomando 1 (x) = 1 e 2 (x) = x,
temos:
f (x) ' g(x) = c1 + c2 x.

L. A. P. Cant
ao

51

Captulo 4. Ajuste de Curvas

CNC

O resduo para cada par (c1 , c2 ) e para cada x, ser


a r (c1 , c2 ; x) = f (x) c1 c2 x. Assim, pelo metodo dos
quadrados mnimos devemos procurar c1 e c2 que minimizem a func
ao:
< r, r > (c1 , c2 ) =< f (x) c1 c2 x, f (x) c1 c2 x >=

m
X

[f (xi ) c1 c2 xi ]2 .

i=1

Do C
alculo Diferencial sabemos que a condic
ao necess
aria do ponto crtico e que as derivadas nele se anulem,
isto e,

< r, r >=
< r, r >= 0,
c1
c2

ou ainda, procedidas as repectivas derivac


oes com respeito a c1 e c2 em < r, r > temos:

m
X

2 (f (xi ) c1 c2 xi ) = 0 e

m
X

i=1

2xi (f (xi ) c1 c2 xi ) = 0

i=1

Estas duas equac


oes formam um sistema linear nas inc
ognitas c1 e c2 , que pode ser reescrito na forma:

m
m
X
X

mc
+
c
x
=
f (xi )

1
2
i

i=1

c1

m
X

xi + c2

m
X

i=1

xi2

xi f (xi )

i=1

i=1

i=1

m
X

Para ilustrar este procedimento, considere o ajuste da tabela abaixo por uma reta:
xi

0.25

0.5

0.75

1.0

f (xi )

1.000

1.2840

1.6487

2.1170

2.7183

Tabela 4.4: Dados para ajuste de curva.


Usando os valores da tabela temos:
5
X

5
X

xi = 2.5,

i=1

i=1

5
X

5
X

f (xi ) = 8.768

i=1

xi2 = 1.875
xi f (xi ) = 5.4514

i=1

Assim, os valores de c1 e c2 da melhor reta (no sentido dos quadrados minmos) s


ao obtidos pelo sistema:
5c1

2.5c2

8.768

2.5c1

1.875c2

5.4514

Resolvendo o sistema, obtemos c1 = 0.89968 e c2 = 1.70784, ou seja g(x) = 0.89968 + 1.70784x. Os valores de
g(xi ) e os respectivos resduos est
ao na tabela abaixo.

L. A. P. Cant
ao

xi

0.25

0.5

0.75

1.0

f (xi )
g(xi )
r (xi )

1.000
0.89968
0.10032

1.2840
1.32664
0.04264

1.6487
1.7536
0.1049

2.1170
2.18056
0.06356

2.7183
2.60752
0.11078

52

Captulo 4. Ajuste de Curvas

CNC

Neste exemplo, a soma dos quadrados do resduo e:


5
X

r 2 (xi ) = 0.039198

i=1

4.3 Interpolac
ao com Splines
Se a func
ao f (x) est
a tabelada em (n + 1) pontos e a aproximarmos por um polin
omio de grau n que a interpole
sobre os pontos tabelados, o resultado dessa aproximac
ao pode ser ruim quando n cresce.
Uma alternativa e interpolar f (x) em grupos de poucos pontos, obtendo-se polin
omio de grau menor e impor
condic
oes para que a func
ao de aproximac
ao seja contnua e tenha derivadas contnuas ate uma certa ordem. Para
que isto aconteca, devemos respeitar as condic
oes da Definic
ao 5.
Definic
ao 5. Considere a func
ao f (x) tabelada nos pontos x0 < x1 < . . . < xn . Uma func
ao Sp (x) e denominada
spline interpolante de grau p com n
os nos pontos xj , j = 0, 1, . . . , n, se satisfaz as seguintes condic
oes:
1. em cada subintervalo [xj , xj+1 ], j = 0, 1, . . . , (n 1), Sp (x) e um polin
omio de grau p;
2. Sp (x) e contnua e tem derivada contnua ate ordem (p 1) em [a, b].
3. Sp (xj ) = f (xj ), j = 0, 1, . . . , n.
A origem do nome spline vem de uma regua el
astica, usada em desenhos de engenharia, que pode ser curvada
de forma a passar por um dado conjunto de pontos (xj , yj ), que tem o nome de spline. Sob certas hip
oteses (de
acordo com a teoria da elasticidade) a curva definida pela regua pode ser descrita aproximadamente como sendo
uma func
ao por partes, cada qual um polin
omio c
ubico, de tal forma que ela e suas duas primeiras derivadas s
ao
contnuas sempre. A terceira derivada, entretanto, pode ter descontinuidades nos pontos xi . Esta func
ao e uma
spline c
ubica interpolante com n
os nos pontos xj , segundo a Definic
ao 5.
Estudaremos aqui dois tipos de Interpolac
ao por Splines: Interpolac
ao por Spline Linear e Interpolac
ao por
Spline C
ubica.

4.3.1 Interpolac
ao por Spline Linear
A interpolac
ao por spline linear de f (x), S(x), nos pontos x1 , x2 , . . . , xn pode ser escrito na forma de subintervalos [xj1 , xj ], j = 1, . . . , n como:
Sj (x) = f (xj1 )

xj x
x xj1
+ f (xj )
,
xj xj1
xj xj1

x [xj1 , xj ] .

Assim:
1. S(x) e um polin
omio de grau 1 em cada subintervalo [xj1 , xj ];
2. S(x) e contnua em (xj1 , xj ) e nos pontos xj , uma vez que S(x) est
a bem definida, pois:
Sj (xj ) = Sj+1 (xj ) = f (xj ) = S(x) e contnua em [a, b] e, portanto, S(x) e uma spline linear;
3. S(xj ) = Sj (xj ) = f (xj ) = S(x) e a interpolac
ao por spline linear de f (x) nos pontos x0 , x1 , . . . , xn .
Exemplo 27. Achar a func
ao de interpolac
ao por spline linear de:
De acordo com a definic
ao:

L. A. P. Cant
ao

53

Captulo 4. Ajuste de Curvas

CNC

xi
f (xi )

S1 (x)

S2 (x)

S3 (x)

f (x0 )

f (x1 )

=
=

2x
21
x2 x
x2 x1

5.0
3.0

7.0
2.5

2 x + 2x 2 = x

x [1, 2]

2
1
(5 x) + x 2 = (x + 4)
3
3

1
(0.5x + 8.5) ,
2

x x1
x2 x1

x 2
52

+ f (x3 )

x x2
x3 x2

x 5
75

2.5

2.0
2.0

x x0
x1 x0

x 1
21

+ f (x2 )
+

x3 x
x3 x2

7x
75

+ f (x1 )
+

5x
52

f (x2 )
3

x1 x
x1 x0

1.0
1.0

x [2, 5]

x [5, 7]

ou ainda,

1
(x + 4)
S(x) =
3

1 (0.5x + 8.5)
2

se

x [1, 2]

se

x [2, 5]

se

x [5, 7]

4.3.2 Interpolac
ao por Spline C
ubico
A spline linear apresenta a desvantagem de ter derivada primeira descontnua nos pontos xj , j = 1, 2, . . . , n.
Se usarmos splines quadr
aticas, teremos que S2 (x) tem derivadas contnuas ate a ordem 1 apenas e, portanto, a
curvatura de S2 (x) pode trocar nos pontos xj . Por esta raz
ao, as splines c
ubicas s
ao mais usadas.
Definic
ao 6. Dada uma func
ao f (x) definida em [a, b] e um conjunto de n
os a = x0 < x1 < . . . < xn = b, um
spline c
ubico interpolador S(x) para f e uma func
ao que satisfaz as seguintes condic
oes:
1. S(x) e um polin
omio c
ubico, indicado por Sj (x), no intervalo [xj , xj+1 ] para cada j = 0, 1, . . . , (n 1);
2. S(xj ) = f (xj ) para cada j = 0, 1, . . . , n;
3. Sj+1 (xj+1 ) = Sj (xj+1 ) para cada j = 0, 1, . . . , (n 2);
0
4. Sj+1
(xj+1 ) = Sj0 (xj+1 ) para cada j = 0, 1, . . . , (n 2);
00
5. Sj+1
(xj+1 ) = Sj00 (xj+1 ) para cada j = 0, 1, . . . , (n 2);

6. Um dos seguintes conjuntos de condic


oes de contorno e satisfeito:
(a) S 00 (x0 ) = S 00 (xn ) = 0 (condic
ao de contorno livre ou natural);
(b) S 0 (x0 ) = f 0 (x0 ) e S 0 (xn ) = f 0 (xn ) (contorno restrito).
Para se construir o spline c
ubico interpolador para uma func
ao dada, as condic
oes indicadas na definic
ao s
ao
aplicadas aos polin
omios c
ubicos
Sj (x) = aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3
L. A. P. Cant
ao

54

Captulo 4. Ajuste de Curvas

CNC

para cada j = 0, 1, . . . , (n 1) (condic


ao (1)).
Da condic
ao (2), temos:
Sj (xj )

Sj (xj )

aj + bj (xj xj ) + cj (xj xj )2 + dj (xj xj )3

aj

aj = f (xj ),

aplicando a condic
ao (3),
aj+1 = Sj+1 (xj+1 ) = Sj (xj+1 ) = aj + bj (xj+1 xj ) + cj (xj+1 xj )2 + dj (xj+1 xj )3
para cada j = 0, 1, . . . , (n 2).
Denotando hj = xj+1 xj , simplificamos a notac
ao para cada j = 0, 1, . . . , (n 1). Se definirmos an = f (xn ),
ent
ao a equac
ao:
aj+1 = aj + bj hj + cj hj2 + dj hj3

(4.13)

e v
alida para cada j = 0, 1, 2, . . . , (n 1).
Tomando Sj0 (x), temos:
Sj0 (x) = bj + 2cj (x xj ) + 3dj (x xj )2
implica que:
Sj0 (xj ) = bj + 2cj (xj xj ) + 3dj (xj xj )2 = Sj0 (xj ) = bj
para cada j = 0, 1, 2, . . . , (n 1). Aplicando a condic
ao (4) , temos:
bj+1 = bj + 2cj hj + 3dj hj2

(4.14)

para cada j = 0, 1, 2, . . . , (n 1).


Sendo Sj00 (x) = 2cj + 6dj (x xj ),
Sj00 (xj )
Sj00 (xj )

2cj + 6dj (xj xj )

2cj

= cj

Aplicando na condic
ao (5), para cada j = 0, 1, . . . , (n 1),
2cj+1
cj+1

2cj + 6dj hj

= cj + 3dj hj

Isolando dj :
dj =

cj+1 cj
3hj

(4.15)

Substituindo a equac
ao (4.15) nas equac
oes (4.13) e (4.14), respectivamente, temos:
aj+1

=
=

L. A. P. Cant
ao


cj+1 cj
aj + bj hj +
+
hj3
3hj


cj+1 cj
aj + bj hj + cj hj2 +
hj2
3
cj hj2

(4.16)

55

Captulo 4. Ajuste de Curvas

CNC


bj+1

cj+1 cj
3hj

bj + 2cj hj + 3

bj + 2cj hj + (cj+1 cj ) hj

bj + (cj+1 + cj )hj

hj2
(4.17)

Resolvendo a equac
ao (4.16) para bj , temos:
cj hj2

aj+1

aj + bj hj +

bj hj

(aj+1 aj )

bj


+

cj+1 cj
3hj

hj3

hj2
(2cj + cj+1 )
3
1
hj
(aj+1 aj ) (2cj + cj+1 )
hj
3

(4.18)

Reduzindo os ndices para bj1 :


bj1 =

1
hj1
(aj aj1 )
(2cj1 + cj )
hj1
3

Substituindo esses valores na equac


ao (4.17), com os ndices reduzidos, temos o sistema linear de equac
oes:
bj

bj1 + (cj + cj1 )hj1

1
hj
(aj+1 aj ) (2cj + cj+1 )
hj
3

1
hj1
(aj aj1 )
(2cj1 + cj ) + (cj + cj1 )hj1
hj1
3

hj1 cj1 + 2cj (hj1 + hj ) + hj cj+1

3
3
(aj+1 aj )
(aj aj1 )
hj
hj1

(4.19)

ognitas, na medida em que os valores


para cada j = 1, 2, . . . , (n 1). Esse sistema envolve apenas {cj }nj=0 como inc
n
de {hj }n1
ao dados, respectivamente, pelo espacamento dos n
os {xj }nj=0 e os valores de f nos n
os.
j=0 e {aj }j=0 s

Note que, uma vez que os valores de {cj }nj=0 s


ao determinados, essa e uma maneira simples de encontrar as
constantes {bj }n1
c
ao (4.18) e {dj }nj=0 da equac
ao (4.15), e de se construir os polin
omios
j=0 remanescentes na equa
c
ubicos {Sj (x)}n1
j=0 .
A quest
ao maior que fica em relac
ao a essa construc
ao e se os valores de {cj }nj=0 podem ser encontrados
utilizando-se o sistema de equac
oes (4.19) e, se a resposta for positiva, se esses valores s
ao
unicos. Os teoremas
a seguir indicam esse e o caso quando qualquer das condic
oes de contorno dadas na parte (6) da Definic
ao 6 e
imposta.
Teorema 9. Se f e definida em a = x0 < x1 < . . . < xn = b, ent
ao f tem um
unico spline interpolador natural
(ou livre) S nos n
os x0 , x1 , . . . , xn ; isto e, um spline interpolador que satisfaz as condic
oes de contorno S 00 (a) = 0
e S 00 (b) = 0.
Prova 6. As condic
oes de contorno nesse caso implicam que cn = S 00 (xn )/2 = 0 e que:
0 = S 00 (x0 ) = 2c0 + 6d0 (x0 x0 );
e portanto c0 = 0.
As duas condic
oes c0 = 0 e cn = 0, juntamente com as equac
oes (4.19), produzem um sistema linear descrito

L. A. P. Cant
ao

56

Captulo 4. Ajuste de Curvas

CNC

pela equac
ao vetorial Ax = b, onde A e uma matriz (n + 1) (n + 1):

A=

..
.

h0

2(h0 + h1 )

h1

0
..
.
..
.

h1
..
.
..
.

2(h1 + h2 )
..
.
..
.

hn2

..
.
..
.
..
.

h2
..
.

0
..
.
..
.
..
.

2(hn2 + hn1 ) hn1


0

e b e x s
ao os vetores:

b=

0
3
h1 (a2

a1 )

3
h0 (a1

a0 )

..

3
3

(a

a
)

(a

a
)
n
n1
n1
n2
hn1
hn2

c0

x=

c1
..
.

cn

A matriz A e diagonalmente dominante, e portanto, tem soluc


ao
unica para c0 , c1 , . . . , cn .
Teorema 10. Se f e definida em a = x0 < x1 < . . . < xn = b, e diferenci
avel em a e b, ent
ao f tem um spline
interpolador restrito S nos n
os x0 , x1 , . . . , xn ; isto e, um spline interpolador que satisfaz as condic
oes de contorno
S 0 (a) = f 0 (a) e S 0 (b) = f 0 (b).
Prova 7. Como f 0 (a) = S 0 (a) = S 0 (x0 ) = b0 , aplicando-se a equac
ao (4.18), com j = 0, temos:
f 0 (a)

3f 0 (a)

2h0 c0 + h0 c1

1
h0
(a1 a0 ) (2c0 + c1 )
h0
3
3
(a1 a0 ) h0 (2c0 + c1 )
h0
3
(a1 a0 ) 3f 0 (a)
h0

Do mesmo modo (equac


ao (4.17)):
f 0 (b) = bn = bn1 + hn1 (cn1 + cn )
de maneira que a equac
ao (4.18) nos permite dizer que j = n 1 implica que:

L. A. P. Cant
ao

f 0 (b)

f 0 (b)

3f 0 (b)

hn1 cn1 + 2hn1 cn

an an1
hn1

(2cn1 + cn ) + hn1 (cn1 + cn )


hn1
3
an an1
hn1
+
(cn1 + 2cn )
hn1
3
3
(an an1 ) + hn1 (cn1 + 2cn )
hn1
3
3f 0 (b)
(an an1 )
hn1

57

Captulo 4. Ajuste de Curvas

CNC

A equac
ao (4.19), juntamente com as equac
oes:
2h0 c0 + h0 c1

hn1 cn1 + 2hn1 cn

determinam o sistema linear Ax = b, onde

2h0
h0

h0 2(h0 + h1 )

0
h1
A=
..
.
..
.

.
..
..
.

3
(a1 a0 ) 3f 0 (a)
h0
3
3f 0 (b)
(an an1 )
hn1

..
.

2(h1 + h2 )
..
.
..
.

h2
..
.

..
.
..
.
..
.

hn2

2(hn2 + hn1 )

hn1

hn1

2hn1

0
h1

0
..
.
..
.
..
.

e b e x s
ao os vetores:

b=

3
h0 (a1

a0 ) 3f 0 (a)

a1 )
a0 )

..

3
3
(a

a
)

(a

a
)
n
n1
n1
n2
hn1
hn2

3
3f 0 (b) hn1
(an an1 )
3
h1 (a2

3
h0 (a1

c0

x=

c1
..
.

cn

A matriz A e diagonalmente dominante, e portanto, tem soluc


ao
unica para c0 , c1 , . . . , cn .
Exemplo 28. Construa os splines c
ubicos naturais, com S 00 (x0 ) = S 00 (xn ) = 0, para:
xi
yi

0.1
0.62049958

0.2
0.28398668

0.3
0.00660095

0.4
0.2484244

Como os intervalos est


ao igualmente espacados, hj = 0.1, para j = 0, 1, 2, 3. Assim, usando o Teorema 9,
temos o seguinte sistema tridiagonal linear:

0.1

0.4

0.1

0.1

0.4

c0

c1 1.377581

0.1
c2 1.4629254
1
c3
0

Resolvendo o sistema acima, temos cT = [0, 2.698738, 2.982629, 0]T .


Como aj = f (xj ), para j = 0, 1, 2, 3, podemos determinar bj e dj , para j = 0, 1, 2 usando as equac
oes (4.18) e
(4.15), respectivamente, como mostra a Tabela 28.
A partir da Tabela 28, podemos montar a func
ao spline:

0.62049958 + 3.4550869(x 0.1) 8.9957933(x 0.1)


S(x) =
0.28398668 + 3.1852131(x 0.2) 2.698738(x 0.2)2 0.9463033(x 0.2)3

0.00660095 + 2.6170764(x 0.3) 2.982629(x 0.3)2 + 9.9420967(x 0.3)3

L. A. P. Cant
ao

x [0.1, 0.2)
x [0.2, 0.3)
x [0.3, 0.4]

58

Captulo 4. Ajuste de Curvas

CNC

aj
0.62049958
0.28398668
0.00660095
0.24842440
Tabela 4.5:

bj
cj
dj
3.4550869
0
8.9957933
3.1852131 2.698738 0.9463033
2.6170764 2.982629
9.9420967

Coeficientes para os splines naturais.

Exemplo 29. Construa os splines c


ubicos restritos, com f 0 (0.1) = 3.58502082 e f 0 (0.4) = 2.16529366, para os
dados do exemplo anterior.
Como os intervalos est
ao igualmente espacados, hj = 0.1, para j = 0, 1, 2, 3. Assim, usando o Teorema 10,
temos o seguinte sistema tridiagonal linear:

0.6596755

c1 1.377581
=


0.1 0.4 0.1
c2 1.4629254
c3
0
0.1 0.2
0.7588225

0.2

0.1

0.1

0.4

0
0.1

c0

Resolvendo o sistema acima, temos cT = [2.1498408, 2.29703, 2.4394481, 2.5743885]T .


Como aj = f (xj ), para j = 0, 1, 2, 3, podemos determinar bj e dj , para j = 0, 1, 2 usando as equac
oes (4.18) e
(4.15), respectivamente, como mostra a Tabela 29.
aj
bj
cj
dj
0.62049958 3.5850208 2.1498408 0.4907741
0.28398668 3.1403294
2.297073
0.4745836
0.00660095
2.6666773 2.4394481 0.4498015
0.24842440

2.5743885

Tabela 4.6: Coeficientes para os splines restrito.


A partir da Tabela 29, podemos montar a func
ao spline:

2
3

0.62049958 + 3.5850208(x 0.1) 2.1498408(x 0.1) 0.4907741(x 0.1)


S(x) =
0.28398668 + 3.1403294(x 0.2) 2.297073(x 0.2)2 0.4745836(x 0.2)3

0.00660095 + 2.6666773(x 0.3) 2.4394481(x 0.3)2 0.4498015(x 0.3)3

x [0.1, 0.2)
x [0.2, 0.3)
x [0.3, 0.4]

4.4 Exerccios
1. Obtenha o polin
omio interpolador de Lagrange e Newton para as seguintes func
oes :
(a) f (x) = e2x cos 3x, x0 = 0, x1 = 0.3 e x2 = 0.6, n = 2;
(b) f (x) = sen(ln x), x0 = 2.0, x1 = 2.4 x2 = 2.6, n = 2;
(c) f (x) = ln x, x0 = 1, x1 = 1.1, x2 = 1.3 e x3 = 1.4, n = 3;
(d) f (x) = cos x + sen x, x0 = 0, x1 = 0.25, x2 = 0.5 e x3 = 1.0, n = 3.
2. Utilize o polin
omio interpolador de Lagrange e de Newton de grau 1, 2 e 3 para aproximar cada um dos
seguintes items:
(a) f (8.4) se f (8.1) = 16.94410, f (8.3) = 17.56492, f (8.6) = 18.50515 e f (8.7) = 1882091;
(b) f ( 31 ) se f (0.75) = 0.07181250, f (0.5) = 0.02475000, f (0.25) = 0.33493750 e f (0) =
1.10100000;
L. A. P. Cant
ao

59

Captulo 4. Ajuste de Curvas

CNC

(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.
3. Seja p3 (x) o polin
omio interpolador para os dados (0, 0), (0.5, y ), (1, 3) e (2, 2). Encontre y para o caso
em que o coeficiente de x 3 em P3 (x) e 6 (use o polin
omio interpolador de Lagrange).
4. Utilize os seguintes valores e aritmetica com arredondamento de quatro dgitos para obter uma aproximac
ao

para f (1.09), utilizando um polin


omio de Lagrange e um de Newton de 3 grau. A func
ao que ser
a aproximada
e f (x) = log10 (tg x). Utilize esse conhecimento para encontrar um limite para o erro na aproximac
ao:
f (1.00) = 0.1924

f (1.05) = 0.2414

f (1.10) = 0.2933

f (1.15) = 0.3492

5. Seja f (x) = 7x 5 3x 2 1.
(a) Calcular f (x) nos pontos x = 0, x = 1, x = 2 e x = 3. Construir a seguir a tabela segundo os
valores crescente de x.
(b) Construir o polin
omio de interpolac
ao para esta func
ao sobre os pontos 2, 1, 0 e 1.
(c) Determinar, pela f
ormula (4.4), um limitante para o erro de truncamento em x = 0.5 e x = 0.5.
Resposta:
104 3
83
x 3x 2
x 1.
3
3
(c) |R3 (0.5)| 39.375 e |R3 (0.5)| 65.625.

(b) P3 (x) =

6. Conhecendo-se a tabela: calcular um limitante superior para o erro de truncamento quando calculamos
x
cos x

0.8
0.6967

0.9
0.6216

1.0
0.5403

1.1
0.4536

1.3
0.2675

1.5
0.0707

cos 1.05 usando polin


omio de interpolac
ao sobre quatro pontos.
Resposta: Considerando os pontos x0 = 1.0, x1 = 1.1, x2 = 1.3 e x3 = 1.5, temos |R3 (x)| 1.453 106 .
7. Apresentando os dados
xi
yi

4.0
102.56

4.2
113.18

4.5
130.11

4.7
142.05

5.1
167.53

5.5
195.14

5.9
224.87

6.3
256.73

6.8
299.50

7.1
326.72

(a) Construa o polin


omio de quadrados mnimos de grau 1 e calcule o erro.
(b) Construa o polin
omio de quadrados mnimos de grau 2 e calcule o erro.
Resposta: (a) y = 72.0845x 194.138, (b) y = 6.61821x 2 1.14352x + 1.23556.
8. Repita o exerccio anterior para os seguintes dados:
xi
yi

0.2
0.050446

0.3
0.098426

0.6
0.33277

0.9
0.72660

1.1
1.0972

1.3
1.5697

1.4
1.8487

1.6
2.5015

9. Encontre os polin
omios de quadrados mnimos de graus 1, 2 e 3 para os dados apresentados na tabela abaixo.
Calcule o resduo para cada caso (erro).
Resposta: y1 = 0.620895 + 1.219621x, y2 = 0.5965807 + 1.253293x 0.01085343x 2 e y3 = 0.6290193 +
1.18501x + 0.03533252x 2 0.01004723x 3 .
10. Transforme os modelos abaixo em relac
oes lineares:
L. A. P. Cant
ao

60

Captulo 4. Ajuste de Curvas

CNC

xi
yi
(a) y =

a
b + cx

1.0
1.84

1.1
1.96

1.3
2.21

1.5
2.45

(b) y = abx

1.9
2.94

(c) y =

2.1
3.18

a
b+x

(d) y =

1
1 + ebx

11. Suponha que num laborat


orio obtivemos experimentalmente os seguintes valores para f (x) sobre os pontos
xi , i = 1 : 8:
xi
f (xi )

1.0
36.547

0.7
17.264

0.4
8.155

0.1
3.852

0.2
1.820

0.5
0.860

0.8
0.406

1.0
0.246

(a) Faca o diagrama da dispers


ao dos dados;
(b) Ajuste os dados, usando o Metodo dos Quadrados Mnimos, para a func
ao y = c1 ec2 x ;
(c) C
alcule o resduo da sua aproximac
ao.
Resposta: y = 3.001 e2.5x .
12. Ajuste os dados:
x
y
(a) usando a aproximac
ao y =

8
30

6
10

4
9

2
6

0
5

2
4

4
4

1
. Faca o gr
afico para 1/y e verifique que esta aproximac
ao e
(c0 + c1 x)

vi
avel;
(b) idem para y = abx ;
(c) compare os resultados (a) e (b).
Resposta: (a) y =

1
, (b) y = 5.5199(0.8597)x .
0.195 + 0.0185x

13. O n
umero de bacterias, por unidade de volume, existente em uma cultura ap
os x horas e apresentado na
tabela:
n de horas (x)
n de bacterias por vol. unit
ario (y )

0
32

1
47

2
65

3
92

4
132

5
190

6
275

(a) Verifique que uma curva para se ajustar ao diagrama de dispers


ao e do tipo exponencial;
(b) Ajuste aos dados as curvas y = abx e y = ax b ; compare os valores obtidos por meio destas equac
oes
com os dados experimentais;
Resposta: y = 32.14685(1.42696)x e y = 38.83871x 0.963 .
(c) Avalie da melhor forma o valor de y (x) para x = 7.
14. Determine o spline c
ubico livre S que interpole os dados f (0) = 0, f (1) = 1 e f (2) = 2.
Resposta: S(x) = x, em [0, 2].
15. Determine o spline c
ubico restrito S que interpole os dados f (0) = 0, f (1) = 1 e f (2) = 2 e satisfaz
s 0 (0) = s 0 (2) = 1.
16. Construa os splines c
ubicos livres para os dados que se seguem.
L. A. P. Cant
ao

61

Captulo 4. Ajuste de Curvas

CNC

(a) f (8.3) = 17.56492 e f (8.6) = 18.50515;


(b) f (0.8) = 0.22363362 e f (1.0) = 0.65809197;
(c) f (0.5) = 0.02475, f (0.25) = 0.3349375 e f (0) = 1.101
17. Os dados no Exerccio acima (14) foram gerados utilizando-se as func
oes a seguir. Use os splines c
ubicos
construdos para os valores dados de x, para aproximar f (x) e f 0 (x), e calcule o erro absoluto.
(a) f (x) = x ln x; aproxime f (8.4) e f 0 (8.4);
(b) f (x) = sen(ex 2); aproxime f (0.9) e f 0 (0.9);
(c) f (x) = x 3 + 4.001x 2 + 4.002x + 1.101; aproxime f (1/3) e f 0 (1/3);
18. Construa os splines c
ubicos restritos utilizando os dados do Exerccio (14) e o fato de que:
(a) f 0 (8.3) = 1.116256 e f 0 (8.6) = 1.151762;
(b) f 0 (0.8) = 2.1691753 e f 0 (1.0) = 2.0466965;
(c) f 0 (0.5) = 0.751 e f 0 (0) = 4.002;
19. Repita o Exerccio (15) utilizando os splines gerados no Exerccio (16).
20. Um spline c
ubico natural S em [0, 2] e definido por:
(
S(x) =

S0 (x)
S1 (x)

=
=

1 + 2x x 3

se 0 x < 1
2

2 + b(x 1) + c(x 1) + d(x 1)

se 1 x 2

Encontre b, c e d.
Resposta: b = 1, c = 3 e d = 1.
21. Um spline c
ubico restrito S para uma func
ao f e definido em [1, 3] por:
(
S(x) =

S0 (x)
S1 (x)

=
=

3(x 1) + 2(x 1)2 (x 1)3


2

a + b(x 2) + c(x 2) + d(x 2)

se 1 x < 2
3

se 2 x 3

Dados f 0 (1) = f 0 (3), encontre a, b, c e d.


22. Construa um spline c
ubico livre para aproximar f (x) = cos(x) utilizando os valores dados por f (x) em
R1
x = 0, 0.25, 0.5, 0.75, 1.0. Integre o spline em [0, 1] e compare o resultado com 0 cos(x) dx = 0. Use as
derivadas do spline para aproximar f 0 (0.5) e f 00 (0.5). Compare essas aproximac
oes com os resultados reais.
23. Repita o exerccio acima, construindo desta vez um spline c
ubico restrito com f 0 (0) = f 0 (1) = 0.
24. Dada a partic
ao x0 = 0, x1 = 0.05 e x2 = 0.1 de [0, 0.1], encontre a func
ao interpoladora linear para
R 0.1
R 0.1
f (x) = e2x . Aproxime 0 e2x dx com 0 S(x) dx, e compare os resultados com os valores reais.

L. A. P. Cant
ao

62

CAPITULO

Integrac
ao Num
erica
Introduc
ao
Por que Integrac
ao Numerica ? Isto e: por que n
ao restringir o c
alculo de integrais ao uso das tecnicas de
integrac
ao estudadas no C
alculo Diferencial e Integral ? A resposta para essa quest
ao tem por base dois fatos:
1. Geralmente em problemas envolvendo o c
alculo de integrais n
ao se conhece a express
ao analtica da func
ao
integrando, somente os valores dessa func
ao, o que inviabiliza o uso das tecnicas integrac
ao do C
alculo, mas
que s
ao os dados necess
arios para a integrac
ao numerica;
2. Mesmo quando se conhece a express
ao analtica da func
ao integrando, o c
alculo da func
ao primitiva pode
ser trabalhoso e nem sempre simples. Por exemplo, a integral
Z
2
e x dx
resulta em uma func
ao que n
ao pode ser expressa em termos de combinac
oes finitas de outras func
oes
algebricas, logartmicas ou exponenciais.
A ideia b
asica da integrac
ao numerica reside na aproximac
ao da func
ao integrando por um polin
omio. As
f
ormulas de integrac
ao s
ao somat
orios cujas parcelas s
ao valores da func
ao f (x) calculados em pontos e multiplicados por pesos convenientemente escolhidos. Assim, vamos procurar desenvolver f
ormulas de integrac
ao do
tipo:
b

f (x) dx
=

n
X

wi f (xi ),

(5.1)

i=0

onde a x0 < x1 < < xn b s


ao chamados pontos de integrac
ao e wi s
ao os pesos da f
ormula de integrac
ao.

5.1 F
ormula de Newton-Cotes
Neste caso, os pontos de integrac
ao s
ao igualmente espacados em (a, b), tal que h =
n
umero inteiro. Os pontos de integrac
ao (para este caso) s
ao:
xj = a + jh

j = 0 : n.

ba
, onde n e um
n

Captulo 5. Integrac
ao Numerica

CNC

Considere agora o polin


omio de Lagrange de grau n que interpola os (n + 1) pontos (xi , f (xi )), i = 0 : n
pn (x) =

n
X

f (xi )li (x).

i=0

Integrando esta
ultima express
ao no intervalo (a, b), temos:
Z

f (x) l(x) dx =
a

n
X

f (xi )

i=0

li (x) dx.
a

Assim, de (5.1), o c
alculo de wi e obtido pela integrac
ao de li (x), isto e:
Z
wi =

(x x0 ) . . . (x xi1 )(x xi+1 ) . . . (x xn )


dx.
(xi x0 ) . . . (xi xi1 )(xi xi+1 ) . . . (xi xn )

li (x) dx =
a

(5.2)

Atraves da equac
ao (5.2) podemos obter f
ormulas do tipo Newton-Cotes para polin
omios de qualquer grau.

5.1.1

F
ormula dos Trap
ezios: n = 1

A f
ormula dos trapezios corresponde `
a interpolac
ao da func
ao a ser integrada por um polin
omio de grau n = 1.
Como a interpolac
ao linear pede 2 pontos, tomaremos os extremos do intervalo de integrac
ao, isto e, a = x0 e
b = x1 .
A express
ao (5.2) nos permite encontrar os pesos da regra dos trapezios:
Z
w0

x1

=
x0

Z
w1

x1

=
x0

(x x1 )
dx
(x0 x1 )

(x x0 )
dx
(x1 x0 )

1
h
1
h

x1

(x x1 ) dx
x0

x=x1
(x x1 )2

2h
x=x0

h
2

x=x1
(x x0 )2

2h
x=x0

h
2

x1

(x x0 ) dx

x0

Com isso, podemos estabelecer a f


ormula dos trapezios para a integrac
ao no intervalo (x0 , x1 ):
Z

x1

f (x) dx =
x0

h
[f (x0 ) + f (x1 )] .
2

(5.3)

5.1.2 F
ormula de Simpson: n = 2
Para estabelecer a f
ormula de Simpson, interpolamos f (x) usando um polin
omio de grau 2 que coincide com
(a + b)
essa func
ao nos pontos x0 , x1 e x2 . Assim, tomamos n = 2, x0 = a, x1 =
e x2 = b em (5.2). Integrando
2
os polin
omios de grau 2, estabelecemos os pesos da f
ormula de Simpson:
Z

x2

w0 =
x0

x2

w1 =
x0

x2

w2 =
x0

L. A. P. Cant
ao

(x x1 )(x x2 )
dx
(x0 x1 )(x0 x2 )

h
3

(x x0 )(x x2 )
dx
(x1 x0 )(x1 x2 )

4h
3

(x x0 )(x x1 )
dx
(x2 x0 )(x2 x1 )

h
3

64

Captulo 5. Integrac
ao Numerica

CNC

O c
alculo das integrais acima podem ser simplificados lembrando que:
x1 x0 = h,

x2 x1 = h,

x2 x0 = 2h

e usando a substituic
ao de vari
aveis t = x x1 e portanto t + h = x x1 + h = x x0 , t h = x x1 h = x x2 .
Por exemplo, fazendo estas substituic
oes no c
alculo do peso w0 temos:
Z

x1

w0 =
x0

(x x1 )(x x2 )
dx =
(x0 x1 )(x0 x2 )

h
t(t h)
dt =
2
2h
3

Dessa maneira, usando polin


omios interpoladores de grau 2, estabelecemos a f
ormula de Simpson:
Z

x2

x0

 
h
f (x) dx =
[f (x0 ) + 4f (x1 ) + f (x2 )] .
3

y = f (x)

(5.4)

y = p(x)

x
x0

x1

x0

(a)

x1
(b)

x2

Figura 5.1: Aproximac


ao de integral por trapezio e Simpson.
A Figura 5.1(a) mostra a
area sob a curva aproximada pela
area do trapezio e a Figura 5.1(b), a
area sob a
par
abola que passa pelos pontos (x0 , f (x0 )), (x1 , f (x1 )) e (x2 , f (x2 )).

5.1.3 F
ormulas de Newton-Cotes para n = 3 e n = 4
n=3

x3


f (x) l(x) dx =

x4


f (x) l(x) dx =

x0

2h
45


[f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )]

(5.5)

[7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )]

(5.6)

x0

n=4

3h
8

Exemplo 30. Sabemos que


Z
ln 2 =
1

1
dx
= 0.69314718.
x

Use as f
ormulas de Newton-Cotes apresentadas (f
ormulas (5.3), (5.4), (5.5) e (5.6)) para obter aproximac
oes
para ln 2. Calcule o erro absoluto de cada aproximac
ao.

L. A. P. Cant
ao

65

Captulo 5. Integrac
ao Numerica

CNC

5.2 F
ormulas Repetidas
(b a)
. Sejam x0 = a,
n
xi = xi1 + h e xn = b. Podemos aplicar a regra dos trapezios para cada um dos subintervalos. Assim, lembrando
Divida o intervalo de integrac
ao [a, b] em n subintervalos de igual comprimento h =

que xi xi1 = h, e as propriedades de integrais, temos:


Z

Z
f (x) dx

x1

x3

x2

x1

xn

f (x) dx

f (x) dx . . . +

f (x) dx +

x0

x2

f (x) dx +

xn1

 
h
[f (x0 ) + 2f (x1 ) + 2f (x2 ) . . . + 2f (xn1 ) + f (xn )] .
2

(5.7)

Se optarmos por aplicar a f


ormula de Simpson repetida, devemos repartir o intervalo num n
umero par de
subintervalos, uma vez que cada par
abola requer tres pontos de interpolac
ao. Assim, se n e um n
umero par:
Z

Z
f (x) dx

x2

x4

f (x) dx
xn2

x2

x0

xn

f (x) dx + . . . +

f (x) dx +

 
h
=
[f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + . . . + 2f (xn2 ) + 4f (xn1 ) + f (xn )]
3
=

(5.8)

h
{f (x0 ) + 4 [f (x1 ) + f (x3 ) + . . . f (xn1 )] +
3
2 [f (x2 ) + f (x4 ) + . . . + f (xn2 )] + f (xn )}

Exemplo 31. Ainda calculando aproximac


oes para ln 2, aplique as f
ormulas (5.7) e (5.8) no intervalo [1, 2] e
h = 0.25. Calcule o erro absoluto para cada aproximac
ao.

5.3 Erro nas F


ormulas de Newton-Cotes
Teorema 11. (Impar) Se os pontos xj = x0 + jh, j = 0 : n, dividem [a, b] (x0 = a e xn = b) em um n
umero mpar
de intervalos iguais e f (x) tem derivada de ordem (n + 1) contnua em [a, b] ent
ao a express
ao do erro para as
f
ormulas de Newton-Cotes do tipo fechado, com n mpar, e dada por:
R(f ) =

hn+2 f (n+1) ()
(n + 1)!

u(u 1) (u n) du
0

para algum ponto [a, b].


Teorema 12. ( Par) Se os pontos xj = x0 + jh, j = 0 : n, dividem [a, b] (x0 = a e xn = b) em um n
umero par
de intervalos iguais e f (x) tem derivada de ordem (n + 2) contnua em [a, b], ent
ao a express
ao do erro para as
f
ormuas de Newton-Cotes do tipo fechado, com n par, e dada por:
R(f ) =

hn+3 f (n+2) ()
(n + 2)!

Z
0

n
u (u 1) (u n) du
2

para algum ponto [a, b].

L. A. P. Cant
ao

66

Captulo 5. Integrac
ao Numerica

CNC

5.3.1 Erro na F
ormula do Trap
ezio
Considere o intervalo [x0 , x1 ], ou seja, n = 1. Usando o Teorema 11, temos:
R(f )

h3 f 00 ()
2!

[u(u 1)] du
0


1
h3 f 00 () u 3
u2

2!
3
2 0
3 00
h f ()
=
12

Assim,
Z

x1

f (x) dx =
x0

=
=

h3 f 00 ()
2!

h3 f 00 ()
2!



1

(u 2 u) du

2
h3 00
[f (x0 ) + f (xn )]
f (), x0 < < x1
h
12

O erro na f
ormula do trapezio repetido e obtido adicionando-se N erros na f
ormula R(f ) acima, onde N =
Logo,
Z

xn

f (x) dx

x0

ba
.
h

 
h
Nh3 00
f (),
[f (x0 ) + 2f (x1 ) + 2f (x2 ) + + 2f (xn1 ) + f (xn )]
2
12
 
h
(b a)h2 00
[f (x0 ) + 2f (x1 ) + 2f (x2 ) + + 2f (xn1 ) + f (xn )]
f (), x0 < < xn
2
12

Note que o termo do erro n


ao ser
a, na pr
atica, subtrado do resultado aproximado; assim nunca conseguiremos
o resultado exato, pois o ponto que fornece a igualdade e
unico, mas n
ao h
a como determin
a-lo. A aplicac
ao da
f
ormula do termo do resto e
util quando queremos o resultado com precis
ao pre-fixada.
Exemplo 32. Determinar o n
umero de intervalos em que podemos dividir [0, 1.2] para obter
1.2

ex cos x dx

pela regra do trapezio com tres casas decimais.


Nh3
max0t1.2 |f 00 (t)|, x0 < < xn .
Soluc
ao: R(f ) =
12
Calculando:
f 0 (t) = et cos t et sen t = et (cos t sen t)
f 00 (t)

et (cos t sen t) + et ( sen t cos t) = 2 et sen t


max |f 00 (t)| = |f 00 (1.2)| = 2(3.320)(0.932) = 6.188

0t1.2

ba
1.2 0
1.2
=
=
.
N
N
N
Impondo er r o 0.5 103 , temos:
Na regra do trapezio: h =

R(f )

1.2h2
(6.188) 0.0005 = h2 0.0000808 = h 0.02842
12

Observe que, devemos escolher o menor h que seja menor ou igual a 0.02842, mas que divida exatamente o
intervalo [0, 1.2]. Assim, tomamos h = 0.025:
N=

L. A. P. Cant
ao

1.2
= N = 48
0.025

67

Captulo 5. Integrac
ao Numerica

CNC

5.3.2 Erro na F
ormula de Simpson
Para obtermos o erro na f
ormula de Simpson, sobre o intervalo [x0 , x2 ] fazemos n = 2 no Teorema 12. Assim:
R(f )


Z 
h2+3 f (2+2) () 2
2
u
u(u 1)(u 2) du
(2 + 2)!
2
0
Z

h5 f (IV ) () 2 4
u 4u 3 + 5u 2 2u du
4!
0
 5
2
5 (IV )
h f
() u
5u 3
4
2
u +
u
4!
5
5
0


h5 f (IV ) ()
4
h5 f (IV ) ()

=
4!
15
90

=
=
=
=

Ent
ao, podemos escrever:
Z

x2

f (x)dx =
x0

h
h5 (IV )
[f (x0 ) + 4f (x1 ) + f (x2 )]
f
(), xo < < x2 .
3
90

O erro na f
ormula de Simpson Repetido e obtido adicionando-se N erros da f
ormula acima, onde N =
Assim:
Z xn
f (x)dx

f (x)dx

ba
.
2h

Nh5 (IV )
h
[f (x0 ) + 4f (x1 ) + 2f (x2 ) + 2f (x2N2 ) + 4f (x2N1 ) + f (x2N )]
f
(),
3
90
h
(b a)h4 (IV )
[f (x0 ) + 4f (x1 ) + 2f (x2 ) + 2f (x2N2 ) + 4f (x2N1 ) + f (x2N )]
f
(),
3
180

x0
xn

x0

para x0 < < xn .


Note que:
Comparando as express
oes de erro, vemos que a f
ormula de Simpson repetido e da ordem de h4 (em smbolos,
O(h4 )), enquanto que a regra do trapezio repetido e O(h2 ). Assim, a regra de Simpson possui uma ordem
de convergencia maior, resultando em erros de aproximac
ao menores para um mesmo h.
Para obter o resultado da integral com uma determinada precis
ao, podemos utilizar a f
ormula do erro impondo, em m
odulo, seja inferior a 0.5 10k , onde k e o n
umero de casas decimais corretas que desejamos
no resultado, e assim obter o n
umero de intervalos necess
arios, ou ir aumentando o n
umero de pontos e
comparando dois resultados consecutivos ate obter a precis
ao desejada. Na pr
atica, e mais comum usarmos
esta segunda possibilidade.
Exemplo 33. Usando a Regra de Simpson Repetido, obter a integral do Exemplo 32, com duas casas decimais
corretas.
Soluc
ao: Inicialmente, calculamos a integral usando 3 (tres) pontos:
Z

1.2

I3 =

ex cos x dx =

0.6
1
h [f (0) + 4f (0.6) + f (1.2)] =
[1 + 4(1.503) + 1.202] = 1.6428
3
3

Agora calculamos a integral com 5 (cinco) pontos:


Z
I5 =
0

L. A. P. Cant
ao

1.2

ex cos x dx =

0.3
[f (0) + 4f (0.3) + 2f (0.6) + 4f (0.9) + f (1.2)] = 1.6464
3

68

Captulo 5. Integrac
ao Numerica

CNC

Calculando o erro relativo:


|1.6464 1.6428|
|I5 Ie |
=
= 0.0022 < 102
|I5 |
|1.6464|

ER =

Portanto, o valor da integral com duas casas decimal de precis


ao e 1.6464.
O Exemplo 33 ilustra o procedimento computacional a ser implementado. Logo, devemos tomar h 0, ou
seja, devemos fazer h = 0.1, 0.01, . . . e ir comparando os resultados obtidos atraves do erro relativo, isto e, se
ER =

|Ir Is |
<
|Ir |

onde Ir e Is s
ao dois resultados consectivos, e  uma precis
ao pre-fixada, ent
ao paramos o processo.

5.4 Integrac
ao de Romberg
As f
ormulas de Newton-Cotes podem ser combinadas de modo a melhorar a aproximac
ao da integrac
ao
numerica. Uma tecnica eficiente para estabelecer esta combinac
ao e atraves da integrac
ao de Romberg, que
e baseada na extrapolac
ao de Richardson.

5.4.1 Extrapolac
ao de Richardson
Inicialmente, seja g uma func
ao com derivadas de todas as ordens em algum intervalo contendo x0 como um
ponto interior. Ent
ao a expans
ao da serie de Taylor gerada por g em x = x0 e:
g(x)

X
g (k) (x0 )
k=0

k!

(x x0 )k

g 00 (x0 )
g n (x0 )
= g(x0 ) + g (x0 )(x x0 ) +
(x x0 )2 + . . . +
(x x0 )n + . . .
2!
n!

(5.9)

Seja g(0) um valor a ser calculado, e g(h) sua aproximac


ao, calculada em func
ao do par
ametro h (isto e,
h = x x0 ). Usando a equac
ao (5.9) em torno de zero, de g(h) e g(h/2), teremos, respectivamente:
g(h)

 
h
2

g(0) + g 0 (0)h + g 00 (0)

= g(0) + g 0 (0)

h2
h3
+ g 000 (0) + . . .
2
3!

h
h2
h3
+ g 00 (0) + g 000 (0)
+ ...
2
8
48

Tomando os dois primeiros termos do lado direito destas duas express


oes, vemos que g(h) e g(h/2) s
ao
aproximac
oes para g(0). Combinando convenientemente estes dois somat
orios definimos uma aproximac
ao mais
precisa:
g1 (h)

L. A. P. Cant
ao

 

 

h
1
h
1
= 2g
g(h) = 1
2 g
g(h)
2
2 1
2


h
h2
h3
0
00
000
=
2g(0) + 2g (0) + 2g (0) + 2g (0)
+ ...
2
8
48


h2
h3
g(0) + g 0 (0)h + g 00 (0) + g 000 (0)
=
2
6
h2
h3
= g(0) g 00 (0) 3g 000 (0)
+ ...
4
24
69

Captulo 5. Integrac
ao Numerica

CNC

Se g1 (h) for usada para calcular g(0), ent


ao este ser
a mais preciso. Repetindo a ideia, tomamos agora g1 (h)
e g1 (h/2) para definir outra aproximac
ao g2 (h). Sejam:
g1 (h)
g1

g(0) g 00 (0)

h2
h3
3g 000 (0)
+ ...
4
24

 
h
h3
h2
3g 000 (0)
+ ...
= g(0) g 00 (0)
2
16
192

Subtraindo a primeira equac


ao da segunda, multiplicada por 4, teremos:
 
h
h3
4g1
g1 (h) = 3g(0) + 3g 000 (0)
+ ...
2
48
Dessa maneira:
g2 (h)





 
 
1
1
h
h
2
4g1
g1 (h) = 2
2 g1
g1 (h)
3
2
2 1
2

h3
+ ...
g(0) + g 000 (0)
48

(5.10)

Em resumo, a ideia e aplicar sucessivamente combinac


oes de aproximac
oes para melhorar a aproximac
ao final.
Pode-se verificar que a express
ao generica do n-esimo est
agio deste procedimento e:

 

1
h
2n gn1 (h/2) gn1 (h)
n
= n
2 gn1
gn1 (h)
gn (h) =
2n 1
2 1
2

(5.11)

5.4.2 Integrac
ao de Romberg
Chamemos I1 (h) e I1 (h/2) os resultados obtidos pela regra dos trapezios tomando 2h e h, respectivamente,
em (x0 , x2 ), como ilustra a Figura 5.2.

h
x1

x0

x2

Figura 5.2: Intervalo (x0 , x2 ).

Aplicando a f
ormula dos trapezios simples e repitida temos:
I1 (h) =

2h
[f (x0 ) + f (x2 )]
2

I1

 
h
h
= [f (x0 ) + 2f (x1 ) + f (x2 )] .
2
2

Usando a f
ormula de extrapolac
ao (5.10), temos:
I2 (h)

=
=
=

  

1
h
4I1
I1 (h)
3
2


1 4h
[f (x0 ) + 2f (x1 ) + f (x2 )] h [f (x0 ) + f (x2 )]
3 2
h
[f (x0 ) + 4f (x1 ) + f (x2 )]
3

Note que, a express


ao de I2 (h) corresponde a f
ormula de Simpson aplicada no intervalo (x0 , x2 ), que e uma

L. A. P. Cant
ao

70

Captulo 5. Integrac
ao Numerica

CNC

aproximac
ao melhor do que a f
ormula do Trapezio. Se quisermos uma aproximac
ao melhor, podemos usar a f
ormula
geral (5.11).
Exemplo 34. Calcule a integral abaixo usando a Extrapolac
ao de Richardson com n = 4.
Z

ex dx

5.5 Quadratura de Gauss-Legendre


Segundo [2], o fato de escolher pontos igualmente espacados nas f
ormulas de Newton-Cotes certamente
simplifica os c
alculos. Contudo, se as abscissas n
ao tiverem esta imposic
ao de espacamento constante, ent
ao
podem ser obtidas f
ormulas que fornecam uma maior exatid
ao.

5.5.1 F
ormula para dois pontos
A integrac
ao de uma func
ao f (x) pela regra do Trapezio e baseada em um polin
omio de grau 1 que passa pelos
pontos a e b, do intervalo de integrac
ao [a, b]. Porem, pode-se escolher dois pontos c e d, de maneira que a
area
do trapezio seja a mais pr
oxima da
area sob a curva, sendo c [a, b] e d [a, b].
Com este objetivo e feita, inicialmente, uma mudanca de vari
avel de x para t, definida num intervalo [1, 1],
por intermedio da express
ao
a+b
ba
t+
2
x

x = x(t) =

(5.12)

de modo que
dx =
Definindo
F (t) =
ent
ao
Z

f (x)dx =
1

ba
dt
2

ba
f (x(t))
2

ba
2
F (t)
dt
ba
2

(5.13)
b

f (x)dx =
a

F (t) dt.
1

Considere o ponto c, com coordenadas c[t1 , F (t1 )] e o ponto d com coordenadas d[t2 , F (t2 )]; ent
ao deseja-se
que,
Z

F (t) dt I2 = A1 F (t1 ) + A2 F (t2 )

f (x)dx =

(5.14)

express
ao que e an
aloga `
a regra do trapezio
b

f (x)dx
a

h
[f (a) + f (b)] .
2

O problema consiste em encontrar valores t1 , t2 , A1 e A2 que tornem a exatid


ao a maior possvel. Para isto, o
metodo e construdo de modo a ser exato para polin
omios de grau ate 3. Fazendo
F (t) = t k ,

k = 0, 1, 2, 3,

e impondo (5.14) ser igual `


a integral analtica de F (t), ent
ao:
para k = 0:
Z

F (t) = 1

1dt = 1 (1) = 2 = A1 1 + A2 1
1

L. A. P. Cant
ao

71

Captulo 5. Integrac
ao Numerica

CNC

para k = 1:
Z

F (t) = t

tdt =
1

1 1
t 2 1
= = 0 = A1 t1 + A2 t2
2 1
2 2

para k = 2:
1



1
1
t 3 1
2
F (t) = t
t dt = =
= = A1 t12 + A2 t22
3
3
3
3
1
1
2

para k = 3:
F (t) = t 3

t 3 dt =

1 1
t 4 1
= = 0 = A1 t13 + A2 t23
4 1
4 4

As express
oes acima constituem um sistema de equac
oes n
ao lineares de ordem 4:

A1

A1 t1

A2

A 2 t2

A1 t12

A1 t13

+ A2 t22

+ A2 t23

0
2
3
0

cuja soluc
ao e
1
1
t1 = 0.5774, t2 = 0.5774, A1 = 1 e A2 = 1.
3
3
Z 5
Exemplo 35. Calcular
(2x 3 + 3x 2 + 6x + 1)dx usando a Quadratura de Gauss (f
ormula (5.14)).
1

Soluc
ao: Inicialmente, realizamos uma mudanca de vari
avel, de x para t, atraves da equac
ao (5.12):
xi =

a+b
51
1+5
ba
ti +
=
ti +
xi = 2ti + 3
2
2
2
2

Por (5.13), a alterac


ao da func
ao em x para uma func
ao em t:
F (ti ) =

ba
51
f (xi ) =
f (xi ) F (ti ) = 2f (2ti + 3),
2
2

ou seja,


F (ti ) = 2 2(2ti + 3)3 + 3(2ti + 3)2 + 6(2ti + 1) + 1
Os c
alculos podem ser sistematizados em uma tabela composta por 4 (quatro) colunas, como mostra a Tabela
(5.1).
i

ti

F (ti )

Ai

13

69.7083

1
3

442.2917

Tabela 5.1: Aproximac


ao para n = 2.

I2 = A1 F (t1 ) + A2 F (t2 ) = 1 69.7083 + 1 442.2917 I2 = 512.000


Z 5
x
 5

4
Este resultado e exato porque
(2x 3 + 3x 2 + 6x + 1)dx =
+ x 3 + 3x 2 + x = 517.5 5.5 = 512.
2
1
1
Z
Exemplo 36. Calcular
(e x + sen x + 2) dx, usando Quadratura Gaussiana, para n = 2.
0

L. A. P. Cant
ao

72

Captulo 5. Integrac
ao Numerica

CNC

Por (5.12),
xi =

ba
a+b
0
0+

ti +
=
ti +
xi = (ti + 1)
2
2
2
2
2

Usando (5.13),
F (ti ) =


ba
0

f (xi ) =
f (xi ) F (ti ) = f
(ti + 1)
2
2
2
2

Temos a Tabela (5.2).


i

ti

F (ti )

Ai

13

7.1605

1
3

22.8236

Tabela 5.2: Aproximac


ao para n = 2.
Assim,
I2 = A1 F (t1 ) + A2 F (t2 ) = 1 7.1605 + 1 22.8236 = 29.9841
Z


O valor exato desta integral e
(e x + sen x + 2) dx = (e x cos x + 2x) = 30.4239 .
0

Portanto, o erro cometido pela Quadratura Gaussiana com 2 pontos foi de |30.4239 29.9841| = 0.4398, que
e mais exato que o obtido pela regra do trapezio repetido com 6 subintervalos, equivalente a 7 pontos.

5.6 Exerccios
1. Use a regra do Trapezio (Tr) (n = 1) e a regra de Simpson (Sp) (n = 2) para aproximar as seguintes
integrais:
Z

x 4 dx;

(a)
0.5

(Resposta: (Tr) 0.265625, (Sp) 0.1940104)


Z 0.5
2
(b)
dx;
x

4
0
(Resposta:
(Tr)
0.2678571,
(Sp)
0.2670635)
Z 1.5
(c)
x 2 ln x dx;
1

(Resposta:

1.6

2x
dx;
4
1
(Resposta:
(Tr)
0.7391053)
Z 0.35
2
(f)
dx;
24
x
0
(Resposta:
(Tr)

(e)

(Tr)

0.17776434,

(Sp)

0.1922453)
Z 1
(d)
x 2 ex dx;

x2

0.8666667,

(Sp)

0.1777643,

(Sp)

0.1768216)
Z /4
(g)
x sen x dx;
0

(Resposta: (Tr) 0.2180895, (Sp) 0.1513826)


Z /4
e3x sen 2x dx;
(h)

(Resposta: (Tr) 0.1839397, (Sp) 0.16240168)

(Resposta: (Tr) 4.1432597, (Sp) 2.5836964)

2. Utilize a regra Trapezoidal Composta (Tc) e Simpson Composta (Sc) com os valores indicados de n para
aproximar as seguintes integrais:
Z
(a)

Z
x ln x dx, n = 4;

(Resposta: (Tc) 0.639900)


L. A. P. Cant
ao

(b)

x 3 ex dx, n = 4;

(Resposta: (Tc) 31.3653)


73

Captulo 5. Integrac
ao Numerica

CNC

1
dx, n = 8;
2+4
x
0
(Resposta: (Tc) 0.476977)
Z 5
x

(g)
dx, n = 8;
24
x
3
(Resposta: (Tc) 0.605498)
Z 3/8
(h)
tan x dx, n = 8;

2
dx, n = 6;
(c)
2+4
x
0
(Resposta: (Tc) 0.784241)
Z
(d)
x 2 cos x dx, n = 6;

(f)

(Resposta: (Tc) 6.42872)


Z 2
(e)
e2x sen 3x dx, n = 8;
0

(Resposta: (Tc) 13.5760)

(Resposta: (Tc) 0.970926)

3. Suponha que f (0) = 1, f (0.5) = 2.5, f (1) = 2 e f (0.25) = f (0.75) = . Determine se a regra Trapezoidal
R1
Composta com n = 4 d
a 1.75 para 0 f (x) dx.
4. Utilize a integrac
ao de Romberg para calcular as seguintes integrais, com n = 3:
Z

1.5

x 2 ln x dx; (Resposta: 0.1922593)

(a)
1

Z
(b)

x 2 ex dx; (Resposta: 0.1606105)

1.6

(f)
1

0.35

(c)
0

e 3x sen 2x dx; (Resposta: 2.5879685)

0
1

/4

(e)

2
dx; (Resposta: 0.1768200)
2
x 4

3.5

(g)
3

/4

(d)

2x
dx; (Resposta: 0.7341567)
x2 4

x sen x dx; (Resposta: 0.08875677)

dx; (Resposta: 0.6362135)

/4

(h)

x
x2

(cos x)2 dx; (Resposta: 0.6426970)

5. Utilize os seguintes dados para aproximar

f (x) dx usando a integrac


ao de Romberg.
1

xi
f (xi )

1.0
1.0

1.25
0.8

1.5
0.6666

1.75
0.5714

2.0
0.5

6. Use a regra de Simpson com n = 8 para aproximar o valor medio de f no intervalo dado.
(a) f (x) =

1
, [0, 4]. (Resposta: 0.28)
4
x +1

(b) f (x) =

cos x, [1, 1]

7. Para controlar a poluic


ao termica de um rio, um bi
ologo registra a temperatura (em F) a cada hora, de 9h
da manh
a`
as 5h da tarde. Os dados constam da tabela abaixo:
Hora
Temperatura

9
75.3

10
77.0

11
83.1

12
84.8

1
86.5

2
86.4

3
81.1

4
78.6

5
75.1

Use a regra de Simpson e o Teorema do Valor Medio (C


alculo) para estimar a temperatura media da
agua
entre 9h da manh
a e 5h da tarde.
Z 10
8. Calcule
x 4 dx usando:
0

(a) a regra do Trapezio com n = 5; (Resposta: 341.36)


(b) a regra de Simpson com n = 8; (Resposta: 334.42)
(c) a regra de Romberg com n = 4.
Atenc
ao: Use aproximac
oes com quatro casas decimais para f (xk ) e arredonde as respostas para duas casas
decimais.
L. A. P. Cant
ao

74

Captulo 5. Integrac
ao Numerica

CNC

9. Aproxime a integral impr


opria fazendo a substituic
ao u = 1/x e aplicando ent
ao a regra de Simpson com
n = 4.

(a)
2

1
dx (Resposta: 0.49)
4
x +x
2

ex dx (Resposta: 0.14)

(b)

10

|x|
dx
3+1
x

(d)
ex sen x dx
Z

(c)

Z
10. Obtenha uma aproximac
ao de
0

cos x
dx fazendo a substituic
ao u = x e aplicando a regra do trapezio
x

com n = 4. (Resposta: 1.79)


11. Determine h de modo que a F
ormula do Trapezio forneca o valor de:
Z
I=

ex dx

com erro inferior a 0.5 106 . (Resposta: h < 0.00245 = h = 0.002.)


12. Achar o n
umero mnimo de intervalos que se pode usar para, utilizando a F
ormula de Simpson, obter:
Z

ex cos x dx,

com quatro casas decimais corretas. (Resposta: N = 10 intervalos.)


13. Calcular:
Z

(z 3 + z 2 + z + 1) dz

(a)

(b)

(x 2 1) dx

por quadratura gaussiana e diretamente. Calcule o erro absoluto.x


(Resposta: (a) 2.6667 e 83 ; (b) 0.6667 e 23 .)
Z 1
14. Calcular
ex dx, usando a regra do trapezio com n = 1 e Quadratura Gaussiana com n = 2, compare os
0

resultados obtidos com o valor analtico.


Z 1
2
15. Considere a integral I =
ex dx.
0

(a) Estime I pela regra de Simpson usando h = 0.25; (Resposta: I = 0.746855.)


(b) Estime I por Quadratura Gaussiana com 2 pontos; (Resposta: I = 0.746594.)
(c) Sabendo que o valor exato de I (com 5 casas decimais) e 0.74682, pede-se:
i. compare as estimativas (a) e (b);
ii. quantos pontos seriam necess
arios para que a regra dos Trapezios obtivesse a mesma precis
ao que
a estimativa para I em (b) ? (Resposta: m = 27.)

L. A. P. Cant
ao

75

CAPITULO

Aproximac
oes para Equac
oes Diferenciais
Ordin
arias
Introduc
ao
uma relac
O que
e uma Equac
ao Diferencial Ordin
aria (EDO) ? E
ao que envolve uma func
ao inc
ognita e
suas derivadas ou diferenciais. Por exemplo:
1. y 0 (x) = f (x), onde y 0 (x) denota

dy
;
dx

2. y 00 (x) + y (x) = 0;
3. y (3) (x) + (sen x)y 00 (x) + 5xy (x) = 0.
S
ao equac
oes cujas inc
ognitas s
ao func
oes de uma vari
avel e suas derivadas (caso unidimensional).
a ordem da mais alta derivada da func
Qual
e a ordem de uma EDO ? E
ao inc
ognita.
uma func
Qual
e a soluc
ao de uma EDO ? E
ao definida num intervalo que, juntamente com suas derivadas,
satisfaz a equac
ao diferencial dada.
Tipos de problemas com EDO Para definir uma
unica func
ao y (x), temos de fornecer dados adicionais `
a equac
ao
diferencial; estes dados definem dois tipois de problemas:
1. Problema de valor inicial (PVI): procuramos y (x) que, alem de satisfazer a equac
ao diferencial para
x > a, atende `
as condic
oes preestabelecidas no incio do intervalo onde vamos resolve-la:
y (a) = y0

e, `
as vezes,

y 0 (a) = v0 ,

onde y0 e v0 s
ao valores conhecidos.
2. Problema de valor de contorno (PVC): a equac
ao diferencial dever
a ser satisfeita no intervalo (a, b) e
s
ao preestabelecidos valores para y (x) nos extremos deste intervalo:
y (a) = y0
com y0 e yn conhecidos.

y (b) = yn ,

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

CNC

Objetivos Apresentar metodos numericos que nos conduzam a aproximac


oes da func
ao de uma
unica vari
avel
y (x), soluc
ao das EDOs de tipos:
y 0 (x) = f (x, y (x))

y 00 (x) = f (x, y (x), y 0 (x)),

(6.1)

onde f (x, y ) e f (x, y , y 0 ) s


ao func
oes conhecidas.
Um exemplo (Desintegrac
ao radioativa) Quando observamos a desintegrac
ao (variac
ao) de uma subst
ancia radioativa, podemos constatar que o n
umero de desintegrac
oes por unidade de tempo e proporcional `
a quantidade
de subst
ancia presente em cada instante. Assim, se x = x(t) representa a quantidade de uma subst
ancia
radioativa presente em cada instante t, o modelo matem
atico que representa o fen
omeno da desintegrac
ao
e dado por:
dx(t)
= x(t)
dt
dx
e a variac
ao int
antanea (desintegrac
ao) sofrida pela subst
ancia e o par
ametro > 0 representa o
dt
coeficiente de proporcionalidade, que e constante para cada subst
ancia especfica. Usamos o sinal negativo
dx
porque o n
umero de
atomos diminui com o passar do tempo e, portanto,
< 0.
dt
onde

6.1 Diferencas Finitas


esta discretizac
A essencia dos metodos numericos est
a na discretizac
ao do contnuo. E
ao que torna finito
o problema e, portanto, viabiliza sua soluc
ao computacional.
A inc
ognita de uma equac
ao diferencial ordin
aria e uma func
ao y (x) definida em todos os pontos do intervalo
no qual a equac
ao est
a sendo resolvida. O primeiro passo de qualquer metodo destinado `
a soluc
ao numerica de
equac
oes diferenciais e discretizar a regi
ao onde procuramos a soluc
ao. Neste passo, definimos uma malha, que e
um conjunto finito de pontos, chamados de n
os da malha.
Seja x0 um ponto de referencia e h um n
umero positivo. A malha de passo h associada a x0 e o conjunto de
pontos:
xi = x0 i h,

i = 1, 2, . . .

As aproximac
oes de y (x) ser
ao calculadas nos pontos desta malha.
No metodo de Diferencas Finitas, o segundo passo consiste na discretizac
ao das derivadas que est
ao na equac
ao
diferencial. Neste passo, as derivadas s
ao aproximadas por diferencas entre valores da soluc
ao discretizada.
A ferramenta matem
atica b
asica de aproximac
ao para as derivadas e a serie de Taylor, pois esta nos d
a
informac
oes sobre a func
ao, no ponto x, e sua avaliac
ao numa vizinhanca de x, em x + h. Se assumirmos que y (x)
tem derivadas ate a ordem n + 1 em x, sua expans
ao em serie de Taylor e:
y (x + h) = y (x) + hy 0 (x) +

hn
hn+1 (n+1)
h2 00
y (x) + . . . + y (n) (x) +
y
(),
2!
n!
(n + 1)!

(6.2)

onde est
a entre x e x + h.
Se tomarmos n = 1 em (6.2), teremos:
y (x + h) = y (x) + hy 0 (x) +

L. A. P. Cant
ao

h2 00
y ().
2!

77

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

CNC

Isolando y 0 (x) na equac


ao acima, a f
ormula avancada para a discretizac
ao da derivada e seu erro e:
y 0 (x) =

y (x + h) y (x) h 00
y ().
h
2

(6.3)

De modo semelhante, tomando h em (6.2), ainda com n = 1, temos:


y (x h) = y (x) hy 0 (x) +

h2 00
y ().
2!

Isolando y 0 (x) na equac


ao acima, a f
ormula atrasada para a discretizac
ao da derivada e seu erro e:
y 0 (x) =

y (x) y (x h) h 00
+ y ().
h
2

(6.4)

Tomemos agora n = 2 em (6.2), reescrevemos as f


ormulas avancada e atrasada, temos:
y (x + h)

y (x) + hy 0 (x) +

h2 00
h3
y (x) + y 000 ()
2
3!

y (x h)

y (x) hy 0 (x) +

h2 00
h3
y (x) y 000 ()
2
3!

Subtraindo a pen
ultima express
ao da
ultima, temos:
y (x h) y (x + h) = 2hy 0 (x) 2

h3 000
y ().
3!

Rearranjando a express
ao acima, obtemos a f
ormula centrada para discretizac
ao da derivada e o seu erro:
y 0 (x) =

y (x + h) y (x h) h2 000
y ()
2h
3!

(6.5)

Seguindo as mesmas ideias, podemos estabelecer uma express


ao para o c
alculo da aproximac
ao para a segunda
derivada. Tomando n = 3 em (6.2), temos:
y (x + h) = y (x) + hy 0 (x) +

h2 00
h3
h4
y (x) + y 000 (x) + y (iv ) ()
2
3!
4!

y (x h) = y (x) hy 0 (x) +

h3
h4
h2 00
y (x) y 000 (x) + y (iv ) ()
2
3!
4!

Somando estas duas


ultimas f
ormulas e explicitanto y 00 (x), obtemos uma f
ormula para discretizar a derivada de
segunda ordem, bem como o erro associado a esta discretizac
ao:
y 00 (x) =

y (x + h) 2y (x) + y (x h) h4 (iv )

y ()
h2
12

(6.6)

para algum (x h, x + h).


No metodo das Diferencas Finitas, as derivadas presentes na EDO s
ao substitudas por aproximac
oes descritas
acima.
Resumindo, para cada ponto da malha no interior do intervalo onde a EDO est
a definida, denotamos por yi a

aproximac
ao de y (xi ) (ou seja, yi = y (xi )), usamos:
yi+1 yi
y 0 (xi )
,
=
h

L. A. P. Cant
ao

yi yi1
yi+1 yi1
y 0 (xi )
, ou y 0 (xi )
=
=
h
2h

78

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

e
y 00 (x) =

CNC

yi+1 2yi + yi1


,
h2

como discretizac
ao das derivadas de primeira e segunda ordens que aparecem na equac
ao diferencial.
O metodo das Diferencas Finitas pode ser generalizado em um algoritmo para EDO de segunda ordem.
Sejam p(x), q(x) e r (x) func
oes contnuas definidas em [a, b]. O problema de encontrar y (x) tal que:
y 00 + p(x)y 0 + q(x)y = r (x),

a < x < b,

com valores de contorno


y (a) = y0 ,

y (b) = yn ,

e conhecido como problema de Sturm-Liouville. A hip


otese
q(x) 0,

a x b,

e a escolha de h tal que:





h max |p(x)| < 2
[a,b]

tornam o sistema diagonalmente dominante, com todas as desigualdades estritas, o que garante a existencia de
uma
unica soluc
ao do sistema linear.
Dividindo o intervalo [a, b] em n partes iguais de comprimento h, introduzimos a malha a = x0 < x1 < . . . <
xn = b. Se em cada ponto interior xi usamos as aproximac
oes :
yi+1 yi1
y 0 (xi )
=
2h

yi+1 2yi + yi1


y 00 (xi )
,
=
h2

obtendo a discretizac
ao da EDO:
yi+1 yi1
yi+1 2yi + yi1
+ p(xi )
+ q(xi )yi = r (xi ), i = 1 : n 1
h2
2h
ou ainda, denotando pi = p(xi ), qi = q(xi ) e ri = r (xi ),


h
1 pi
2



h
yi1 + 2 + h qi yi + 1 + pi yi+1 = h2 ri ,
2
2

para i = 1 : n 1. Note que a primeira e a


ultima equac
oes devem ser modificadas pela utilizac
ao da condic
ao de
contorno.
Exemplo 37. Aproxime numericamente a soluc
ao da EDO abaixo usando o metodo de Diferencas Finitas:
y 00 y 0 + xy = ex (x 2 + 1),

x (0, 1)

com condic
oes de contorno:
y (0) = 0,

y (1) = e

usando h = 0.1 e a f
ormula centrada para aproximar y 0 (xi ).

L. A. P. Cant
ao

79

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

CNC

Dado a, b, p(x), q(x), r (x), y0 , yn , n


1:

h = (b a)/n

2:

Para j = 1 at
e j = n 1 faca
x = a + jh

3:

h
p(x)
2
d(j) = 2 + h2 q(x)
h
ds(j) = 1 + p(x)
2
ti (j) = h2 r (x)
di (j) = 1

4:
5:
6:
7:
8:

Fim do laco

9:

ti (1) = ti (1) y0 (1 (h/2)p(a + h))

10:

ti (n 1) = ti (n 1) yn (1 + (h/2)p(b h))

11:

Resolver o sistema.
Algoritmo 12: Metodo de Diferencas Finitas de Sturm-Liouville

6.2 M
etodos de Runge-Kutta
Tomemos a EDO de primeira ordem, com dado inicial:
y 0 (x)

f (x, y )

y (x0 )

y0 .

(6.7)

Considerando a malha definida pelo passo h, podemos usar a f


ormula de diferencas finitas avancada para
discretizar a derivada de y (x) no ponto xk . Assim, obtemos uma vers
ao discretizada de (6.7):
yi+1 yi
= f (xi , yi ).
h

(6.8)

Esta equac
ao permite que calculemos yi+1 a partir de yi , e define o Metodo de Euler. Sua aplicac
ao e muito
simples:
y0
yi+1

= y (x0 )
= yi + hf (xi , yi ),

para i = 0, 1, . . .

(6.9)

O Algoritmo 13 ilustra este metodo.


Dado a, b, n, y0 e f (x, y )
1:

h = (b a)/n

2:

Para i = 0 at
e i = n 1 faca

3:

xi = a + i h

4:

yi+1 = yi + hf (xi , yi )

5:

Fim do laco
Algoritmo 13: Metodo de Euler
A ideia de Euler (6.9) tem vers
oes de maior precis
ao nos trabalhos de Runge (1895), para o caso de uma

L. A. P. Cant
ao

80

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

CNC

equac
ao, e Kutta (1901), para o caso de sistemas de EDO de primeira ordem.
Definic
ao 7. [4] (Passo Simples) Um metodo e de passo simples quando a aproximac
ao yi+1 for calculada a partir
do valor yi do passo anterior. Sendo a func
ao incremento, um metodo de passo simples e definido na forma:
yi+1 = yi + h(xi , yi ; h).
Definic
ao 8. [4] (Ordem) Um metodo de passo simples tem ordem q se a func
ao incremento for tal que
yi+1 = yi + h(xi , yi ; h) + O(hq+1 )
onde O() e a ordem convergencia.
Definic
ao 9. O Metodo de Runge-Kutta de ordem R e definida por:
yi+1 yi = h (xi , yi ; h)
onde
(x, y ; h)

R1
X

cr kr

r =0

m0
mr
ar

= f (x, y )
= f
=

r
X

x + ar h, y + h

r
X

(6.10)

!
br s ks

r = 1, 2, . . . , R 1

s=1

r = 1, 2, . . . R 1

br s

s=1

Para obter o metodo de Runge-Kutta para uma ordem especfica, devemos determinar as constantes cr , ar e
br s da Definic
ao 9. Determinamos essas constantes comparando a express
ao da func
ao (x, y ; h), definida pelo
sistema (6.10), em potencias de h, com a func
ao:
T (x, y ; h) = f (x, y ) +

hq1 (q1)
h 0
f (x, y ) + . . . +
f
(x, y )
2!
q!

(6.11)

conhecida como func


ao do Metodo de Taylor.

6.2.1 M
etodo de Runge-Kutta de ordem 2
Considere a Definic
ao 9, com R = 2:
(x, y ; h)

c0 m0 + c1 m1

m0

f (x, y )

m1

f (x + a1 h, y + hb11 m0 )

a1

b11

Substituindo b11 e m0 em m1 , temos:


m1 = f (x + a1 h; y + ha1 f (x, y ))

L. A. P. Cant
ao

81

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

CNC

Desenvolvendo k2 em serie de Taylor em torno do ponto (x, y ), obtemos:


m1

= f (x, y ) + (a1 h)fx (x, y ) + (a1 hf (x, y ))fy (x, y ) +


+(a1 h)(a1 hf (x, y ))fxy (x, y ) +

(a1 h)2
fxx (x, y )
2!

(a1 hf (x, y ))2


fy y (x, y ) + O(h3 )
2!

Substituindo o valor de m0 por f (x, y ) e m1 pela express


ao anterior, em (x, y ; h), segue que:
(x, y ; h)


(a1 h)2
c0 f (x, y ) + c1 f (x, y ) + (a1 h)fx (x, y ) + (a1 hf (x, y ))fy (x, y ) +
fxx (x, y )
2!

(a1 hf (x, y ))2
fy y (x, y ) + O(h3 )
+(a1 h)2 f (x, y )fxy (x, y ) +
2!
(a1 h2 )2
= (c0 + c1 )f (x, y ) + c1 a1 h(fx (x, y ) + fy (x, y )f (x, y ) +
c1
2!


fxx (x, y ) + 2f (x, y )fxy (x, y ) + fy y (x, y )f 2 (x, y ) + O(h3 )

onde agrupamos os termos de mesma potencia de h. Observe que, na express


ao anterior, f e suas derivadas est
ao
calculadas em (x, y ). Denotando por
F = fx (x, y ) + fy (x, y )f (x, y )

G = fxx (x, y ) + 2f (x, y )fxy (x, y )f 2 (x, y ),

obtemos:
(x, y ; h) = (c0 + c1 )f (x, y ) + c1 a1 hF +

(a1 h)2
c1 G + O(h3 )
2!

(6.12)

Note que, podemos escrever a func


ao T (x, y ; h), equac
ao (6.11), com q = 3, como:
T (x, y ; h)

h 0
f (x, y ) +
2!
h
h2
= f + (fx + fy f ) +
2!
3!
h
h2
= f + (fx + fy f ) +
2!
3!
=

f (x, y ) +

h2 00
f (x, y ) + O(h3 )
3!

fxx + 2fxy f + fy y f 2 + fx fy + fy2 f + O(h3 )

fxx + 2fxy f + fy y f 2 + fy (fx + fy f ) + O(h3 )

Usando F e G, obtemos
T (x, y ; h) = f +

h
h2
F+
[G + fy F ] + O(h3 )
2
3!

(6.13)

Para determinarmos o metodo de Runge-Kutta de ordem 2, comparamos as equac


oes (6.12) e (6.13), obtendo:

c0 + c1

c1 a1

1
1
2

Resolvendo o sistema, teremos o Metodo de Runge-Kutta de ordem 2, porem o sistema possui 2 (duas) equac
oes
1
1
e 3 (tres) inc
ognitas, possuindo infinitas soluco
es. Tomando c0 = , obtemos c1 = e a1 = 1. Portanto:
2
2
yi+1

L. A. P. Cant
ao

= yi +

h
(m0 + m1 )
2

m0

= f (xi , yi )

m1

= f (xi + h, yi + hm0 )

82

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

CNC

que e conhecido como Metodo de Euler Melhorado. O Algoritmo 14, ilustra o metodo abordado.
Dado a, b, n, y0 e f (x, y )
1:

h = (b a)/n

2:

Para k = 0 at
e k = n 1 faca

3:

xk = a + kh

4:

m0 = hf (xk , yk )

m1 = hf (xk + h, yk + m0 )
1
6:
yk+1 = yk + (m0 + m1 )
2
7: Fim do la
co
5:

Algoritmo 14: Metodo de Runge-Kutta de segunda ordem

6.2.2 M
etodo de Runge-Kutta de ordem 3
Neste caso, temos:
yi+1 = yi + h(c0 m0 + c1 m1 + c2 m2 )
onde m0 e m1 possuem as mesmas condic
oes do metodo de ordem 2 e
m2

= f (x + ha2 , y + hb21 m0 + b22 m1 )


= f (x + ha2 , y + h(a2 b22 )m0 + b22 m1 )

desde que a2 = b21 + b22 . Devemos ent


ao agrupar os termos semelhantes e compar
a-los com T (x, y ; h), obtendo
o sistema:

c0 + c1 + c2

a1 c1 + a2 c2

c2 b22 a1

c1 a2 + c2 a2
1
2

1
1
2
1
6
1
3

que e um sistema de 4 equac


oes e 6 inc
ognitas, sendo possvel obter v
arios metodos de ordem 3 com diferentes
conjuntos de constantes.
Um desses metodos e chamado de Runge-Kutta de ordem 3. Os valores das oito inc
ognitas s
ao:
1
6
4
c1 =
6
1
c2 =
6

c0 =

b11 =
a1 =

1
2

a2 = 1

1
2

b21 = 1
b22 = 2

Com estas constantes, as equac


oes formam o metodo de Runge-Kutta de ordem 3, representado no Algo-

L. A. P. Cant
ao

83

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

ritmo 15.
yi+1
m0
m1
m2

= yi +

CNC

 
1
(m0 + 4m1 + m2 )
6

= f (xi , yi )


m0
h
h
= f xi + , yi +
2
2
= f (xi + h, yi m0 h + 2m1 h)

Dado a, b, n, y0 e f (x, y )
1:

h = (b a)/n

2:

Para k = 0 at
e k = n 1 faca

3:

xk = a + kh

4:

m0 = hf (x
k , yk )


h
m0
, yk +
2
2
6:
m2 = hf (xk+1 , yk m0 + 2m1 )
1
7:
yk+1 = yk + (m0 + 4m1 + m2 )
6
8: Fim do la
co

5:

m1 = hf

xk +

Algoritmo 15: Metodo de Runge-Kutta de terceira ordem

6.2.3 M
etodo de Runge-Kutta de ordem 4
Neste caso, a comparac
ao de com T , para se obter metodos de Runge-Kutta de ordem 4, fornece um sistema
de 11 (onze) equac
oes e 13 (treze) inc
ognitas. Cada soluc
ao deste sistema define um metodo de Runge-Kutta
com ordem 4. Um dos mais utilizados e dado pelo Algoritmo 16.
Dado a, b, n, y0 e f (x, y )
1:

h = (b a)/n

2:

Para k = 0 at
e k = n 1 faca

3:

xk = a + kh

4:

m0 = hf (x
k , yk )

5:
6:
7:
8:
9:


m0
h
xk + , yk +
2
2 

h
m1
m2 = hf xk + , yk +
2
2
m3 = hf (xk+1 , yk + m2 )
1
yk+1 = yk + (m0 + 2m1 + 2m2 + m3 )
6
Fim do laco
m1 = hf

Algoritmo 16: Metodo de Runge-Kutta de quarta ordem


Os metodos de Runge-Kutta (como s
ao conhecidos) para EDOs de primeira ordem.
Exemplo 38. Seja a EDO:

L. A. P. Cant
ao

y 0 (x)

y (0)

1
2y 2
1 + x2
0
84

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

CNC

Resolva-a usando os metodos de Euler, Runge-Kutta de segunda, terceira e quarta ordens para x (0, 1) e h = 0.1.
Compare os resultados obtidos com a sua soluc
ao analtica (calcule o erro relativo):
y=

x
.
1 + x2

6.3 Exerccios
1. Aplique o metodo de Euler, Runge-Kutta de segunda, terceira e quarta ordens para aproximar as soluc
oes
dos seguintes PVI e compare os resultados com os valores reais:
(a) y 0 = y /t (y /t)2 , 1 t 2, y (1) = 1, com h = 0.1 e x [1, 2]; soluc
ao real: y (t) = t/(1 + ln t).
(b) y 0 = 1 + y /t + (y /t)2 , 1 t 3, y (1) = 0 com h = 0.2 e x [1, 2]; soluc
ao real: y (t) = t tan(ln t).
(c) y 0 = sen(x)y , x [0, ], y (0) = 1, m = 6; soluc
ao real: y (x) = ecos(x)1 .


1.5
(d) y 0 =
x + 1 y , x [1, 3], y (1) = 1, m = 5; soluc
ao real: y (x) = e 2x /3+x5/3
Atenc
ao: m e o n
umero de subintervalos.
2. Dado o PVI
y0 =

2
y + t 2 et ,
t

1t2

y (1) = 0,

com as soluc
oes exatas y (t) = t 2 (et e). Use o metodo de Euler com h = 0.1 para aproximar a soluc
ao e
compare-a com os valores reais de y .
3. Resolver os problemas de valor inicial abaixo, utilizando os metodos de Euler, Runge-Kutta de segunda,
terceira e quarta ordens com o n
umero de subintervalos n indicado:
(a) y 0 =

x, y (0) = 0, x [0, 2] e n = 5. (soluc


ao usando o metodo de Euler: y5 = 1.55490);

(b) y 0 = x 2 + y 2 , y (1) = 0, x [1, 2] e n = 8 (soluc


ao usando o metodo de Euler: y8 = 3.39195);
(c) y 0 = xy , y (0) = 1, x [0, 1] e n = 10 (soluc
ao usando o metodo de Euler: y10 = 1.54711).
4. Use o Metodo das Diferencas Finitas para aproximar as soluc
oes dos problemas abaixo e compare com as
soluc
oes reais.
(a) y 00 + y = 0, 0 x (/4), y (0) = 1, y (/4) = 1; use h = (/20);

soluc
ao real: y (x) = cos x + ( 2 1) sen x.
(b) y 00 + 4y = cos x, 0 x (/4), y (0) = 0, y (/4) = 0; use h = (/20);

1
2
1
soluc
ao real: y (x) = cos 2x
sen 2x + cos x.
3
6
3
4
2
2
ln
x
(c) y 00 = y 0 2 y + 2 , 1 x 2, y (1) = 12 , y (2) = ln 2; use h = 0.05;
x
x
x
4
2
3
soluc
ao real y (x) = 2 + ln x .
x
x
2
(d) y 00 = 2y 0 y + x ex x, 0 x 2, y (0) = 0, y (2) = 4; use h = 0.2;
1
5
soluc
ao real: y (x) = x 3 ex x ex +2 ex x 2.
6
3
5. Use o Metodo das Diferencas Finitas para aproximar as soluc
oes dos seguintes PVC:
4
2
2
1
(a) y 00 = y 0 + 2 y 2 ln x, 1 x 2, y (1) = , y (2) = ln 2; use h = 0.05;
x
x
x
2
0
y
3
ln
x
(b) y 00 =
+ 2y +
1, 1 x 2, y (1) = y (2) = 0; use h = 0.1
x
x
x
L. A. P. Cant
ao

85

Exerccios

Captulo 6. Aproximac
oes para Equac
oes Diferenciais Ordin
arias

6. Considere o PVI: y 0 = y x 2 y , com y (0) = 1.


(a) Encontre a soluc
ao aproximada usando o metodo de Euler com h = 0.5 e h = 0.25, considerando
x [0, 2];
(b) idem, usando Runge-Kutta de 4a ;
(c) Sabendo que a soluc
ao analtica do problema e y = ex+x

3 /3

, coloque num mesmo gr


afico a soluc
ao

analtica e as soluc
oes numericas encontradas nos itens anteriores. Compare seus resultados.
7. Dado o PVI y 0 =

x
, y (0) = 20, deseja-se encontrar aproximac
oes para y (16). Resolva por:
y

(a) Runge-Kutta de 2a ordem, h = 2. (Resposta: y (16) = 12.00999)


(b) Runge-Kutta de 4a ordem, h = 4. (Resposta: y (16) = 11.998)
8. Calcule y (1) para y 0 = y x; y (0) = 2, utilizando Euler e Runge-Kutta de 4a ordem com h = 0.2. Compare
seus resultados com os valores exatos de y (x) nos pontos xi , sabendo que y (x) = ex +x + 1.
Resposta: Euler: y (1) = 4.488320, Runge-Kutta de 4a ordem: y (1) = 4.78251, soluc
ao exata: y (1) =
4.718282.
9. Resolva pelo metodo de diferencas finitas, o PVC:

00
0

y + 2y + y
y (0)

y (1)

= x
=

usando h = 0.25. (Resposta: y (0.25) = 1.107487, y (0.5) = 0.529106, y (0.75) = 0.180622)


10. O PVC:
y 00 = 4(y x),

0 x 1,

y (0) = 0,

y (1) = 2

tem a soluc
ao y (x) = e2 (e4 1)1 (e2x e2x ) + x. Use o Metodo das Diferencas Finitas para aproximar a
soluc
ao e compare os resultados com a soluc
ao real.
(a) Com h = 21 .

(b) Com h = 14 .

(c) Qual o valor de y (1/2) nos


itens anteriores.

11. O PVC:
y 00 = y 0 + 2y + cos x,

,
2

0x

y (0) = 0.3,


2

= 0.1

1
tem a soluc
ao y (x) = 10
(sen x + 3 cos x). Use o Metodo das Diferencas Finitas para aproximar a soluc
ao

e compare os resultados com a soluc


ao real.
(a) Com h =

4.

(b) Com h =

8.

(c) Qual o valor de y (/4) nos


itens anteriores.

12. Use o Metodo das Diferencas Finitas para aproximar as soluc


oes de y = e10x para o PVC:
y 00 = 100y ,

0 x 1,

Use h = 0.1 e h = 0.25.

86

y (0) = 1,

y (1) = e10 .

Refer
encias Bibliogr
aficas
[1] R. L. Burden, J. D. Faires. An
alise Num
erica. Pioneira Thomson Learning, 2003.
[2] F. F. Campos Fo. Algoritmos Num
ericos. LTC Editora, 2001.
[3] M. C. C. Cunha. M
etodos Num
ericos. 2a Edic
ao, Editora da Unicamp, 2000.
[4] N. B. Franco. C
alculo Num
erico. Pearson Prentice Hall, 2006.
[5] N. J. Higham. Accuracy and Stability of Numerical Algorithms, SIAM Society for Industrial and Applied Mathematics,
1996.
[6] M. A. G. Ruggiero, V. L. R. Lopes C
alculo Num
erico: Aspectos Te
oricos e Computacionais. 2a Edic
ao, Makron Books,
1996.
[7] D. Sperandio, J. T. Mendes, L. H. M. e Silva. C
alculo Num
erico: Caractersticas Matem
aticas e Computacionais dos
M
etodos Num
ericos. Prentice Hall, 2003.
[8] J. Stewart. C
alculo. Volume I. 5a Edic
ao, Pioneira Thomson Learning, 2006.
[9] E. W. Sowokowski. C
alculo com Geometria Analtica. Volume 1. 2a Edic
ao, Makron Books, 1994.
[10] www.nrbook.com/b/bookcpdf.php
[11] www.mathworks.com/moler/chapters.html

87

Você também pode gostar