Sie sind auf Seite 1von 68

Calculo Numerico e Computacional { CNC

Luiza Amalia Pinto Cant~ao


luiza@sorocaba.unesp.br

Sumario
1 Introduc~ao a Teoria de Erros e Estabilidade

1.1
1.2
1.3
1.4

Representac~ao de Numeros . .
Aritmetica de Ponto Flutuante
Erros . . . . . . . . . . . . . .
Exerccios . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

2 Sistemas de Equaco~es Lineares

2.1 Metodos Diretos . . . . . . . . . . . . . . . . . . . . . . .


2.1.1 Sistemas Triangulares . . . . . . . . . . . . . . . . .
2.1.2 Metodo de Eliminac~ao de Gauss . . . . . . . . . . .
2.1.3 Fatorac~ao LU . . . . . . . . . . . . . . . . . . . . .
2.2 Metodos Iterativos . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . .
2.2.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . .
2.2.3 Converg^encia dos Metodos de Jacobi e Gauss-Seidel
2.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3
3
4
5

8
8
9
12
15
15
15
17
17

3 Equaco~es N~ao-Lineares
20
3.1 Fase I: Isolamento das Razes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Fase II: Re namento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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


3.2.2 Metodo da Bissec~ao . . . . . . . . . . . . . . .
3.2.3 Metodo de Newton . . . . . . . . . . . . . . . .
3.2.4 Metodo da Secante . . . . . . . . . . . . . . . .
3.3 Sistemas N~ao-Lineares . . . . . . . . . . . . . . . . . .
3.3.1 Metodo de Newton para Sistemas N~ao-Lineares .
3.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . .

4 Ajuste de Curvas

4.1 Interpolac~ao . . . . . . . . . . . . . . . . .
4.1.1 Polin^omio Interpolador de Lagrange
4.1.2 Polin^omio Interpolador de Newton .
4.2 Quadrados Mnimos Lineares . . . . . . . .
4.3 Interpolac~ao com Splines . . . . . . . . . .
4.3.1 Interpolac~ao por Spline Linear . . .
4.3.2 Interpolac~ao por Spline Cubico . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.
1

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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

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

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

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

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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

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

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

.
.
.
.
.
.
.

.
.
.
.
.
.
.

23
23
24
26
27
28
31

33

33
34
37
38
41
41
42


SUMARIO


SUMARIO

4.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Integrac~ao Numerica

5.1 Formula de Newton-Cotes . . . . . . . . . . . . . . .


5.1.1 Formula dos Trapezios: n = 1 . . . . . . . . .
5.1.2 Formula de Simpson: n = 2 . . . . . . . . . .
5.1.3 Formulas de Newton-Cotes para n = 3 e n = 4
5.2 Formulas Repetidas . . . . . . . . . . . . . . . . . . .
5.3 Integrac~ao de Romberg . . . . . . . . . . . . . . . . .
5.3.1 Extrapolac~ao de Richardson . . . . . . . . . .
5.3.2 Integrac~ao de Romberg . . . . . . . . . . . . .
5.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

51

51
52
52
53
54
54
54
55
56

6 Aproximaco~es para Equaco~es Diferenciais Ordinarias

59

Refer^encias Bibliogra cas

67

6.1 Diferencas Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60


6.2 Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

CAPITULO

Introduc~ao a Teoria de Erros e Estabilidade


1.1 Representac~ao de Numeros
Exemplo 1. Calcule a area de uma circunfer^encia de raio igual a 100 m.
Resultados Obtidos:
1.

A = 31400 m2 ;

2.

A = 31416 m2 ;

3.

A = 31415:92654 m2 .

Como justi car as diferencas entre os resultados apresentados no exemplo 1? E possvel obter exatamente esta
area?
Os erros ocorridos dependem da representac~ao do numero (neste caso, do numero ) na maquina utilizada1 e
do numero maximo de dgitos usados na sua representac~ao.
O numero , por exemplo, n~ao pode ser representado atraves de um numero nito de dgitos decimais. No
exemplo 1, o numero  foi escrito como 3.14, 3.1416 e 3.141592654 respectivamente. Para cada representao
foi obtido um resultado diferente, e o erro neste caso depende exclusivamente da aproximac~ao escolhida para .
Qualquer que seja a circunfer^encia, a sua area nunca sera obtida exatamente de forma numrica!
Logo, qualquer calculo que envolva numeros que n~ao podem ser representados atraves de um numero nito de
dgitos n~ao fornecera como resultado um valor exato.

1.2 Aritmetica de Ponto Flutuante


Um computador ou calculadora representa um numero real no sistema denominado aritmetica de ponto utuante. Ou seja, um numero pode ser representado com ponto xo, por exemplo, 12:34 ou com ponto utuante
0:1234  102 . Assim, o numero r sera representado na forma:

0:d1 d2 d3 : : : dt  10e
onde:
1 Calculadora

ou computador.

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

CNC

 di , para i = 1; 2; 3; : : : t , s~ao os dgitos da parte fracionaria, tais que 0  di  9 e d1 6= 0;


 t e o numero de dgitos na mantissa;
 e e um expoente inteiro.
Exemplo 2. Sejam tr^es dgitos na mantissa (t = 3) e um expoente e 2 [ 5; 5].
Os numeros ser~ao representados na seguinte forma nesse sistema:

0:d1 d2 d3  10e ; 0  dj  9; d1 6= 0; e 2 [ 5; 5]:


O menor numero sera
valor absoluto.

m = 0:100  10 5 = 10 6 , e o maior numero, M = 0:999  105 = 99900, ambos em

Considere o conjunto dos numeros reais R e o seguinte conjunto:


G = fx 2 R = m  jx j  M g:

Dado um numero real x , tr^es situac~oes poder~ao ocorrer:


Caso (1) x 2 G :
por exemplo: x = 235:89 = 0:23589  103 . Se nesta maquina houver precis~ao de tr^es dgitos signi cativos
na mantissa, ent~ao x sera representado por 0:235  103 ou por 0:236  103 ;
Caso (2) jx j < m:
por exemplo: x = 0:345  10 7 e e 2 [ 5; 1). Neste caso, a maquina acusa a ocorr^encia de under ow e
geralmente ajusta para zero.
Caso (3) jx j > M :
por exemplo: x = 0:875  109 e e 2 ( 1; 5]. Neste caso, a maquina acusa a ocorr^encia de over ow e leva
a falhas na computac~ao.

1.3 Erros
O formato de um numero em aritmetica de ponto utuante 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;
2. Se dk +1 < 5, dk = dk .
Exemplo 3. Podemos escrever o numero  na forma de aritmetica de ponto utuante 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 calculos numericos e s~ao conhecidos como erros de truncamento e erros
de arredondamento, respectivamente.
L. A. P. Cant~ao

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

CNC

Erros Absolutos e Relativos

O erro absoluto e a diferenca entre o valor exato de um numero x e seu valor aproximado x :
EAx = jx x j:

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 modulo do erro absoluto.
O erro relativo e de nido como o erro absoluto dividido pelo valor aproximado:
EA jx x j
ERx = jx jx = jx j ; x 6= 0:

1.4 Exerccios
1. Calcule o erro absoluto e o erro relativo nas aproximac~oes de p e p:
(a)
(b)
(c)
(d)
(e)
(f)
(g)

p = , p = 22=7; (EA = 0:001264 e ER = 4:025  10 4 )


p = , p = 3:1416; (EA = 7:346  10 6 e ER = 2:338  10 6 )
p = e, p = 2:718; (EA = 2:818  10 4 e ER = 1:037  10 4 )
p = e10 , p = 22000; (EA = 1:454  10 e ER = 1:05  10 2 )
p = 8!, p = 39900; (EA = 420 e ER = 1:042  10 2 )
p
p = 2, p = 1:414; (EA = 2:136  10 4 e 1:51  10 4 )
p
p = 9!, p = 18 (9= e)9 . (EA = 3:343  103 e 9:213  10 3 )

2. O numero e pode ser de nido por e = 1


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:
P

(a)
(b)

1;
n!
n=0

5
X

1.
n!
n=0

10
X

x sen x
3. Seja f (x ) = x cos
x sen x .

(a) Encontre o limx !0 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.

4. Efetue os somatorios seguintes em uma calculadora e em um computador:


S=

30000
X

i =1

xi

(a) para xi = 0:5;


(b) para xi = 0:11 .
L. A. P. Cant~ao

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

CNC

5. Os primeiros tr^es termos 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
(a) 4 arctan 2 + arctan 31 (Aprox. 3:14557613, EA = 3:983  10 3 e ER = 1:268  10 3 )
1 (Aprox. 3:14162103, EA = 2:838  10 5 e ER = 9:032  10 6 )
(b) 16 arctan 15 4 arctan 239
6. Use a aritmetica com numeros de tr^es dgitos para executar os calculos a seguir. Calcule os erros absolutos
e relativos comparando-os com o valor exato determinado com pelo menos cinco dgitos.
 

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

133 + 0:921 (Aprox.


133 0:499 (Aprox.
(121 0:327) 119
(121 119) 0:327
6

13

134, EA = 0:079 e ER = 5:9  10 4 )


133, EA = 0:499 e ER = 3:77  10 3 )
(Aprox. 2:00, EA = 0:327 e ER = 0:195)
(Aprox. 1:67, EA = 0:003 e ER = 1:79  10 3 )

(e) 214e 5:74 (Aprox. 1:80, EA = 0:154 e ER = 0:0786)


3 (Aprox. 15:1, EA = 0:0546 e ER = 3:6  10 3 )
(f) 10 + 6 e 62
   
(Aprox. 0:286, EA = 2:86  10 4 e ER = 10 3 )
(g) 29  97
 22
(Aprox. 0:00, EA = 0:0215 e ER = 1:00)
(h) 1 7
17

7. A formula quadratica estabelece que as razes da equac~ao ax 2 + bx + c = 0, quando a 6= 0, s~ao:

b + b2 4ac
b2 4ac
b
e
x
:
2 =
2a
2a
Considere a equac~ao x 2 + 62:1x + 1 = 0, cujas razes s~ao aproximadamente x1 = 0:01610723 e x2 =
62:0839.
Calcule a equac~ao acima utilizando arredondamento para quatro dgitos e posteriormente avalie o erro absoluto e relativo para cada raiz.
x1 =

8. Utilize a aritmetica com arredondamento para quatro dgitos e as formulas do exerccio acima para encontar
os valores aproximados mais precisos para as razes das equac~oes quadraticas a seguir. Calcule os erros
absolutos e relativos.
1 =0
(a) 13 x 2 123
x
+
4
6
1
x
(b) 13 x 2 + 123
4
6 =0
2
(c) 1:002x 11:01x + 0:01265 = 0
(d) 1:002x 2 + 11:01x + 0:01265 = 0
Quest~
ao
7
8 (a)

x1

92:26

(b)

0:005421

(c)

10:98

(d)

L. A. P. Cant~ao

EA

0:001149

x2

ER

0:02

 10 1
1 672  10 4
2 333  10 4
6 257  10 4
6 584  10 5
2:4

0:1542

 10
 10
7 566  10

1:264

6:875

EA

62:1
0:005419

 10
 10
6 875  10
4:58

7:566
:

 10 7
4 58  10 3
7 566  10 8
6 875  10 3
6:273

3
8
3

ER

 10 4
1 157  10 4
4 965  10 5
6 584  10 5
6 257  10 4
3:2
:
:
:

CAPITULO

Sistemas de Equaco~es Lineares


Introduc~ao
A soluc~ao de um sistema de equac~oes lineares e provavelmente o processo numerico mais utilizado para simular
situac~oes do mundo real. E uma etapa fundamental na resoluc~ao de varios 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 e ciente 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 + a12 x2 + : : : + a1n xn = b1


a21 x1 + a22 x2 + : : : + a2n xn = b2
..
..
..
..
...
.
.
.
.
an1 x1 + an2 x2 + : : : + ann xn = bn

(2.1)

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 numero nito de passos, sujeitos apenas aos
erros de arredondamento. As tecnicas iterativas geram, a partir de uma soluc~ao inicial, uma sequ^encia 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 coe cientes, x o vetor das incognitas e b o vetor com os valores do lado direito
do sistema (2.1).
Se admitirmos que A e uma matriz inversvel, ou seja, A 1 A = AA 1 = I, onde I e a matriz Identidade,
ent~ao o sistema (2.1) ou (2.2) tem soluc~ao unica x = A 1 b. Porem, calcular explicitamente A 1 e em seguida
A 1 b e desaconselhavel, uma vez que o numero 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 Metodos 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 = 2
x2 + 2x3 = 3
x3 = 1

(2.3a)

x1
= 2
(2.3b)
2x1 + x2
= 3

2x1
x2 + 5x3 = 2
cujas respectivas soluc~oes podem ser obtidas diretamente, ou seja, para os problemas (2.3a) e (2.3b), temos:

x3 = 1
3 2
x2 = 1 = 1
2+1 1 =1
x1 =
2

x1 = 2
3 4
x2 = 1 = 1
2 4 1= 3
x3 =
5
5

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

a11 x1 + a12 x2 +    +
a22 x2 +    +

a1;n 1 xn
a2;n 1 xn
an

1
1

1;n 1 n 1

+
+

a1n xn
a2n xn

+ an 1;n xn
ann xn

= b1
= b2
..
.
= bn 1
= bn

(2.4a)

= b1
+ a22 x2
= b2
..
(2.4b)
.

an 1;1 x1 + an 1;2 x2 +    + an 1;n 1 xn 1


= bn 1

an1 x1 + an2 x2 +    + an;n 1 xn 1 + ann xn = bn


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

a11 x1
a21 x1

Captulo 2. Sistemas de Equac~oes Lineares

CNC

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


1:
2:
3:
4:
5:

bn
ann
Para k = n 1 ate k = 1 faca
soma = bk
Para j = k + 1 ate j = n faca
soma = soma akj xj
Faca xn =

Fim do laco

6:

soma
xk = a
kk

7:
8:

Fim do laco

Algoritmo 1: Soluc~ao de Sistemas Triangulares Superiores


Dado n, Ann (matriz triangular inferior), bn1 e xn1 .
1:
2:
3:
4:
5:

b1
a11
Para k = 2 ate k = n faca
soma = bk
Para j = 1 ate j = k 1 faca
soma = soma akj xj
Faca x1 =

Fim do laco

6:
7:
8:

soma
xk = a
kk

Fim do laco

Algoritmo 2: Soluc~ao de Sistemas Triangulares Inferior


2.1.2 Metodo de Eliminac~ao de Gauss

Os metodos diretos mais comuns t^em 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 sequ^encia de operac~oes do
tipo:

1. Multiplicac~ao de uma equac~ao por uma constante n~ao-nula;


2. Soma do multiplo de uma equac~ao a outra;
3. Troca da ordem das equac~oes.

~ x = b~ equivalente ao sistema original Ax = b


Estas operac~oes geram um sistema A
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

Captulo 2. Sistemas de Equac~oes Lineares

a11
a21
..
.
ai 1
..
.
an 1

a12
a22
..
.
ai 2
..
.
an 2

CNC
a13
a23
..
.
ai 3
..
.
an 3

   a1n b1
   a2n b2

..
.
bi
..
.

..
.
   ain
. . . ..
.
   ann bn
...

l1(1)
l2(1)
..
.
(1)
li
..
.
(1)
ln

os elementos li(1) , para i = 1; 2; : : : ; n, representam as equac~oes do sistema linear (2.1) a ser triangularizado.
Elimina
c~
ao da Primeira Coluna

Suponha que a11 6= 0. Para eliminar a incognita x1 das n 1 equac~oes, subtramos a primeira linha multiplicada
pelo fator
a
mi 1 = a i 1
11

de todas as outras linhas li , i = 2; 3; : : : ; n


Dessa maneira, li(2) = li(1) mi 1 l1(1) , para i = 2; 3; : : : ; n, ou ainda,

Para i = 2 : n aij(2) = aij mi 1 a1j ; j = 2 : n


bi(2) = bi mi 1 b1 :
O ndice superior (2) indica que usaremos um segundo valor para aij e bi .
No nal deste estagio, os coe cientes da matriz aumentada foram modi cados de modo que a matriz assume
a seguinte con gurac~ao:

l1(1)
a11 a12 a13    a1n b1

(2)
(2)
0 a22
l2(2)
a23
   a2(2)n b2(2)

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

0 a a    ain bi
..
..
.. . . ..
..
. .
.
.
.
.
(2)
bn(2)
0 an(2)2 an(2)3    ann
(2)
i2

(2)
i3

(2)

(2)

li(2)
..
.
ln(2)

Elimina
c~
ao da Segunda Coluna

Para eliminar a incognita 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:
a
li(3) = li(2) mi 2 l2(2) ; i = 3 : n; onde mi 2 = a i 2 ; i = 3 : n;
22
supondo que a22 6= 0.
Os coe cientes ser~ao modi cados segundo as relac~oes:
Para i = 3 : n aij(3) = aij(2) mi 2 a2(2)j ; j = 3 : n
bi(3) = bi mi 2 b2(2) :
L. A. P. Cant~ao

10

Captulo 2. Sistemas de Equac~oes Lineares

CNC

Seguindo raciocnio analogo, procede-se ate i = n e a matriz resultante sera:

a11 a12 a13    a1n

b1

(2)
(2)
   a2(2)n
a23
0 a22
..
..
.. . . ..
. .
.
.
.
(n)
0 0 0    ann
bn

b2(2)
.. ()

(n)

a11 x1 + a12 x2 +    + a1n xn = b1


(2)
x2 +    + a2(2)n xn = b2(2)
a22
..
.
(n)
xn = bn(n)
ann

(n)
(3)
(2)
, ..., ann
que aparecem na diagonal principal da matriz
, a33
No processo de eliminac~ao, os elementos a11 , a22
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:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:

Para k = 1 ate k = n

1 faca
Selecione i  k tal que aik 6= 0
Se aii = 0 para todo i  k ent~ao
A n~ao e inversvel. PARE
Caso contrario

Se i =
6 k ent~ao
Troque a linha k com a linha i
Fim do condicional

Fim do condicional
Para i = k + 1 ate i = n faca

a
m = mik = a ik
kk
bi = bi mbk
Para j = k + 1 ate j = n faca
aij = aij makj
Fim do laco

Fim do laco
Fim do laco

Execute o algoritmo (1).


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

Estrategia de Pivoteamento
Exemplo 4. Resolva o sistema abaixo usando o algoritmo (3):

0:004x1 + 15:73x2 = 15:77


0:423x1
24:72x2 = 20:49
L. A. P. Cant~ao

11

Captulo 2. Sistemas de Equac~oes Lineares

CNC

Use quatro dgitos na representac~ao em ponto utuante 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 = 12:50 e 0:9994. 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  10 2 e:

0:423x1
cuja soluc~ao e x1 = 10 e

24:72x2 = 20:49
15:96x2 = 15:96

x2 = 1, que e a soluc~ao exata do sistema.

O procedimento usado no exemplo 4 para obter a soluc~ao correta do sistema e chamado de estrategia de
pivoteamento, que consiste na troca sistematica 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 coe cientes:

jark j = i max
ja j;
k n ik
2. trocamos as linhas k e r se for necessario.
O algoritmo (4) ilustra esta estrategia.
Existem dois casos nos quais o metodo de eliminac~ao pode ser aplicado sem pivoteamento:
1. Uma matriz e diagonalmente dominante, ou seja, seus elementos satisfazem a jaii j >
para todo i .

X
j 6=i

jaij j, i = 1; 2; : : : ; n,

2. Uma matriz e simetrica AT = A e positiva de nida 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 varios sistemas com a mesma matriz dos coe cientes A e diversos termos
independentes b.
Uma opc~ao seria guardar os coe cientes mij calculados no processo de eliminac~ao e usa-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

e Ux = y:
12

Captulo 2. Sistemas de Equac~oes Lineares


Dado n, Ann , bn1 e xn1 .
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:

Para k = 1 ate k = n

CNC

1 faca

w = jakk j e r = k
Para j = k ate j = n faca
Se jakj j > w ent~ao
w = jajk j e r = j
Fim do condicional
Fim do laco
Se w = 0 ent~ao

A n~ao e inversvel. PARE


Caso contrario
Troque a linha k com a linha r
Fim do condicional
Para i = k + 1 ate i = n faca

a
m = mik = a ik
kk
bi = bi mbk
Para j = k + 1 ate j = n faca
aij = aij makj
Fim do laco

Fim do laco
Fim do laco

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, fornecera 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 5. Resolva o sistema linear a seguir usando a fatorac~ao LU:

L. A. P. Cant~ao

3x1 + 2x2 + 4x3 = 1


x1 + x2 + 2x3 = 2
4x1 + 3x2 + 2x3 = 3

13

Captulo 2. Sistemas de Equac~oes Lineares

CNC

Dado n, Ann , bn1 e xn1 .


1:
2:

Para i = 1 ate i = n faca


Para j = i ate j = n faca

uij = aij

3:

Fim do laco

6:

9:

mik ukj

mij = aji

5:

8:

k =1

Para j = i + 1 ate j = n fac!a

4:

7:

i 1
X

i 1
X
k =1

mjk uki =uii

Fim do laco
Fim do laco

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:

1 0 0 3 2 4
1 0 0 3 2
!
a

0 1 0 1 1 2 1 Etapa 1=3 1 0 0 1=3


0 0 1 4 3 2
4=3 0 1 0 1=3

4
1 0 0 3 2 4
!
a

2=3 2 Etapa 1=3 1 0 0 1=3 2=3


10=3
4=3 1 1 0 0
4

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

1
4
a
a
m21 = u21 = 3 e m31 = u31 = 3 .
11
11
u2j = a2j m21 a1j
j = 2; 3
u3j = a3j m31 a1j
j = 2; 3

2a Etapa
Piv^o:

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

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

(ii) Ux = y

L. A. P. Cant~ao

y1
= 1
1=3y1 + y2
= 2
4=3y1 + y2 + y3 = 3

3x1 +

2x2 + 4x3 = 1
1=3x2 + 2=3x3 = 5=3
4x3 = 0

T

=) y = 1; 35 ; 0


=) x = ( 3; 5; 0)T

14

Captulo 2. Sistemas de Equac~oes Lineares

CNC

2.2 Metodos 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,
reescrevemos o sistema (2.1) numa forma que e conveniente para os metodos iterativos:

x1 =

..
.
xi =

..
.
xn =

b1

bi

bn

n
X
j =2
n
X
j 6=i
n 1
X
j =1

a1j xj =a11

(2.5)

aij xj =aii

anj xj =ann

2.2.1 Metodo de Jacobi

Neste metodo, as equac~oes (2.5) s~ao usadas para calcular uma sequ^encia 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
de nir uma nova aproximac~ao para xi :

xi(1) = bi

n
X
j 6=i

aij xj(0) =aii ; i = 1; 2; : : : ; n:

(2.6)

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

max

1i n


(k +1)
xi


xi(k ) < 

ou



(k +1)
xi(k )
xi
max (k +1)
1i n
xi

<

onde  e uma toler^ancia su cientemente pequena. Em testes computacionais usamos tambem como teste de
parada um numero maximo de iterac~oes.
Para iniciar o processo iterativo e necessario fornecer uma aproximac~ao inicial x(0) . Na falta de informac~ao
sobre a soluc~ao, tomamos x(0) = 0.
2.2.2 Metodo de Gauss-Seidel

Este metodo consiste em uma modi cac~ao do metodo de Jacobi. Nele, as iterac~oes ser~ao calculadas usando as
equac~oes (2.5), mas aproveitando os calculos ja atualizados de outras componentes, para atualizar a componente
que esta sendo calculada. Assim, o valor recem calculado para x1(k +1) sera usado no calculo de x2(k +1) .

L. A. P. Cant~ao

15

Captulo 2. Sistemas de Equac~oes Lineares

CNC

Dado n, Ann , bn1 e x(0)


n1 , max, 
1:
2:

3:

4:

Para k = 0 ate k = max faca


Para i = 1 ate i= n faca

1
xi(k +1) = a

ii

Se max
1i n

ou



(k +1)
xi(k )
xi


(k +1)
xi

<  ent~ao

PARE: n~ao houve converg^encia.


Fim do condicional

9:

12:


xi(k ) < 

Se k = max ent~ao

8:

11:

aij xj(k )

Caso contrario

7:

10:


(k +1)
xi

j =1; j 6=i

x = x(k +1)

5:
6:

bi

n
X

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:

Para k = 0 ate k = max faca


Para i = 1 ate i= n faca
(k +1)

xi

= a1 bi
ii

Se max xi(k +1)


1i n

4:

5:
6:
7:

10:
11:
12:

j =1

(k +1)

aij xj

xi(k ) <  ou

x = x(k +1)

n
X

(k )

aij xj
j
=i +1


(k +1)
xi(k )
xi


(k +1)
xi

<  ent~ao

Caso contrario
Se k = max ent~ao
PARE: n~ao houve converg^encia.

8:
9:

i 1
X

Fim do condicional
Fim do condicional
Fim do laco
Fim do laco

Algoritmo 7: Metodo de Gauss-Seidel


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

L. A. P. Cant~ao

4:00x1 + 0:24x2
0:08x3 = 8:00
0:09x1 + 3:00x2
0:15x3 = 9:00
0:04x1
0:08x2 + 4:00x3 = 20:00
16

Captulo 2. Sistemas de Equac~oes Lineares

CNC

2.2.3 Converg^encia dos Metodos de Jacobi e Gauss-Seidel

As condic~oes de converg^encia de veri cac~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: jaii j > jaij j; i = 1 : n.
j 6=i

2. Os metodos iterativos de Jacobi e Gauss-Seidel convergem se A e uma matriz positiva de nida: 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 gra cos, se possvel.
Explique os resultados do ponto de vista geometrico.
(a)

x1 + 2x2 = 3
x1
x2 = 0

(e)
(f)

(b)

x1 + x2 = 0
x1
x2 = 0

(g)

(c)

x1 + 2x2 = 3
2x1 + 4x2 = 6

(d)

x1 + x2 = 3
2x1
4x2 = 6

(h)

x1 + 2x2 = 0
2x1 + 4x2 = 0

2x1 + x2 = 1
x1 + x2 = 2
x1
3x2 = 5
2x1 + x2 = 1
4x1 + 2x2 = 2
x1
3x2 = 5
2x1 + x2 + x3 = 1
2x1 + 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)

4x1
x2 + x3 = 8
2x1 + 5x2 + 2x3 = 3
x1 + 2x2 + 4x3 = 11

(b)

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

3. Considere os seguintes sistemas:

(i)

Soluc~ao real: (10; 1)T :

L. A. P. Cant~ao

3:03x1
12:1x2 + 14x3 = 119
3:03x1 + 12:1x2
7x3 = 120
6:11x1
14:2x2 + 21x3 = 139
17

Captulo 2. Sistemas de Equac~oes Lineares

(ii)

CNC

Soluc~ao real: (0; 10; 1=7)T :


(

(iii)

Soluc~ao real: (0:17682530; 0:01269269; 0:02065405; 1:18260870)T :

(iv)

0:03x1 + 58:9x2 = 59:2


5:31x1
6:10x2 = 47:0

1:19x1 + 2:11x2
100x3 + x4
14:2x1
0:122x2 + 12:2x3
x4
100x2
99:9x3 + x4
15:3x1 + 0:110x2
13:1x3
x4

=
=
=
=

1:12
3:44
2:15
4:16

Soluc~ao real: (0:78839378; 3:12541367; 10:16759660; 4:55700252)T :

x1
e x2 + 2x3
3x4
3
2
2
e x3 + p7 x4
p x1 + pe x2
5x1
6x2 + px3
2x4
1
3
2
 x1 + e x2
7x3 + 9 x4

= 11
= 0
= p
= 2

(a) Resolva os sistemas acima usando o metodo de Eliminac~ao de Gauss e operac~oes aritmeticas com
aproximac~ao de tr^es 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 tr^es
dgitos por truncamento.
(d) Calcule o erro relativo dos itens acima.
(e) Veri que se os sistemas acima s~ao convergente se aplicarmos os Metodos Iterativos de Jacobi e GaussSeidel. Justi que sua resposta.
4. Sejam o sistemas lineares:

(a)

x1 0:5x2 + 0:5x3 = 3
x1 + x2 + x3
= 12
0:5x1 0:5x2 + x3 = 3

(b)

10
1
2
1

2
8
1
2

3 5
1 2
5 1
3 20

x1
x2
x3
x4

48
4
11
150

Resolva-os usando os metodos de Jacobi e Gauss-Seidel e veri que a converg^encia dos metodos. Justi que
os resultados.
5. Resolva os sistemas lineares:

(a)

x1 3x2 + 5x3 + 6x4


8x1 + 4x2 x3
3x1 + 2x2 2x3 + 7x4
x1 + 2x2 + 5x3 4x4

=
=
=
=

17
29
11
7

(b)

1 2 4
3 1 4
2 14 5

x1
x2
x3

13
8
50

usando o metodo de Eliminac~ao de Gauss com e sem pivoteamento. Compare e veri que os resultados.

L. A. P. Cant~ao

18

Captulo 2. Sistemas de Equac~oes Lineares

CNC

6. Efetue os calculos, utilizando apenas 4 casas decimais:


2
6
(a) 1 3:001
4
1

3
2
9

x1
x2
x3

5
9
29

x1 + 2x2 + 3x3 = 17
(b) 5x1 x2 + 4x3 = 2

2x1 + 4x2 + x3 = 25

usando Fatorac~ao LU. Veri que a unicidade e a exatid~ao das soluc~oes.


7. Calcule o determinante da matriz A usando Fatorac~ao LU .

A =

0
1
0
2
1
1

2
2
1
3
1
1

1
1
1
4
1
2

4
3
1
2
3
1

1
4
2
0
0
2

3
0
1
5
2
0

8. Resolva os sistemas abaixo usando Fatorac~ao LU :


(a)

(b)

L. A. P. Cant~ao

2:132x2 + 3:104x3 = 1:984


1:012x1
2:132x1 + 4:096x2
7:013x3 = 5:049
3:104x1
7:013x2 + 0:014x3 = 3:895
2:1756x1 + 4:0231x2
2:1732x3 + 5:1967x4
4:0231x1 + 6:0000x2
+ 1:1973x4
1:0000x1
5:2107x2 + 1:1111x3
6:0235x1 + 7:0000x2
4:1561x4

= 17:102
= 6:1593
= 3:0004
= 0:0000

19

CAPITULO

Equaco~es N~ao-Lineares
Introduc~ao
A necessidade de encontrar valores de x = x que satisfacam a equac~ao f (x ) = 0 aparece frequentemente
em uma ampla variedade de problemas provenientes das Ci^encias 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 gura 3.1, que
mostra quando a func~ao f (x ) = cos x = 0.
y
1.0
0.8

= cos x

0.6
0.4
0.2
0

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 p
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 t^em de ser usados 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: Re namento da raiz, que consiste em, escolhidas aproximac~oes iniciais no intervalo encontrado

na Fase I, melhora-las sucessivamente ate obter uma aproximac~ao para a raiz dentro de uma precis~ao 
pre- xada.

3.1 Fase I: Isolamento das Razes


Nesta fase e feita uma analise teorica e gra ca da func~ao f (x ). Na analise teorica usamos frequentemente 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 2 [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 exempli ca o Teorema 2 e a Figura 3.3, o caso onde ha 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 2 [1; 3]. Note que f 0 (x ) = sen x e f 0 (x ) < 0 neste
intervalo.
A analise gra ca 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 gra co 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 gra cos 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 gra cos de func~oes, disponveis em algumas calculadoras ou softwares
matematicos.

L. A. P. Cant~ao

21

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 7.
1.

f (x ) = x 3 9x + 3: Neste caso, somente o passo (1) e necessario para localizar as possveis razes. Porem

a Figura 3.4 mostra os tr^es 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 e x : Neste caso, e mais conveniente usar os passos (2) e (3). Assim, x 5 e x = 0 ()


px = 5 e x =) g (x ) = px e h(x ) = 5 e x . A Figura 3.5 ilustra as func~oes f (x ), g (x ) e h(x ).

L. A. P. Cant~ao

22

Captulo 3. Equac~oes N~ao-Lineares

CNC
5.00

1.91

h(x )

0.92

f (x )

4.29

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

1.43

0.0

0.5

1.0

(a)

1.5

2.0

2.5

3.0

3.5

0.00
4.0

(b)

Figura 3.5: (a) f (x ) = x 5 e x , (b) g (x ) = x e h(x ) = 5 e x .

3.2 Fase II: Re namento


Ser~ao apresentados aqui tr^es metodos numericos de re namento da raiz: o metodo da Bissec~ao, de Newton e
das Secantes. A forma como se efetua o re namento e o que diferencia os metodos. Porem, antes de descrever
estes metodos, veremos os criterios de parada adotados.
3.2.1 Criterio de Parada

O criterio de parada interrompe a sequ^encia gerada pelos metodos. Este deve avaliar quando xk , na k -esima
iterac~ao, esta su cientemente proximo 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:

jf (xk )j  ;

2. Avaliac~ao do tamanho do intervalo:

jxk xk 1 j  

ou


xk

xk

xk

 ;

para  su cientemente pequeno (precis~ao desejada).


3.2.2 Metodo 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

23

Captulo 3. Equac~oes N~ao-Lineares

CNC

a=a

x
b=b =b

Figura 3.6: O metodo da Bissec~ao gra camente.


Dado f (x ), a e b tais que f (a)  f (b) < 0, max, 
1:

Para k = 0 ate k = max faca

a+b
xk = 2
Se f (a)  f (xk ) < 0 ent~ao
b = xk

2:
3:
4:

Caso contrario

5:

a = xk

6:

Fim do condicional

7:

Se jb

aj   ent~ao
a+b
PARE, x =
2 e raiz aproximada de f (x )

8:
9:

Fim do condicional

10:
11:

Fim do laco

Algoritmo 8: Metodo da Bissec~ao


Exemplo 8. Aplique o metodo da Bissec~ao para encontrar a raiz de f (x ) = x 3
para

 = 10 (a Tabela 3.1 apresenta os passos deste exemplo).


3

9x + 3 no intervalo I = [0; 1],

3.2.3 Metodo de Newton

Isaac Newton (1642{1727) 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 gura.
L. A. P. Cant~ao

24

Captulo 3. Equac~oes N~ao-Lineares


k
0
1
2
3
4
5
6
7
8
9
10

a
0
0
0.25
0.25
0.3125
0.3125
0.328125
0.3359375
0.3359375
0.3359375
0.336914

CNC
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

xk = (a + b)=2
0.5
0.25
0.375
0.3125
0.34375
0.328125
0.3359375
0.3398438
0.78906
0.336914
0.3374023

b
1
0.5
0.5
0.375
0.375
0.34375
0.34375
0.34375
0.3398438
0.3378906
0.3378906

jb a j

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 8.


y


x x x x
2

f (x )

Figura 3.7: O metodo de Newton-Raphson.


O processo iterativo sera 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 calculo de x1 ; x2 ; : : : observamos que a tangente do
^angulo  pode ser obtida tanto da de nic~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() = xf (x0x) = f 0 (x0 )
0

tg( ) = xf (x1x) = f 0 (x1 )


1
2

! x1 = x0 ff 0((xx0 ))
0
! x2 = x1 ff 0((xx1 ))
1

Genericamente, o processo consiste em evoluir da aproximac~ao xk para a aproximac~ao xk +1 usando a formula:


xx +1 = xk

f (xk )
f 0 (xk )

(3.1)

O metodo de Newton-Raphson esta esquematizado no Algoritmo 9.


Exemplo 9. Aplique o metodo de Newton para encontrar a raiz de f (x ) = x 3 9x + 3 tomando x0 = 0:5, para
 = 10 4 (a Tabela 3.2 apresenta os passos deste exemplo).
L. A. P. Cant~ao

25

Captulo 3. Equac~oes N~ao-Lineares

CNC

Dado x0 , f (x ), f 0 (x ), max e 
1:
2:
3:
4:
5:
6:
7:
8:
9:

Para k = 0 ate k = max faca

f (x )
xx +1 = xk f 0 (xk )
k
Se jf (xk +1 )j   ou jxk +1 xk j   ent~ao
PARE, x = xk +1
Fim do condicional
Se k = max ent~ao
PARE, o metodo n~ao converge para a soluc~ao.
Fim do condicional

Fim do laco

Algoritmo 9: Metodo de Newton-Raphson


k
0
1
2
3

xk
0.5
0.3333
0.3376068
0.337609

f (xk )
1:375
0:0370
0:0000183
4:545  10

12

f 0 (xk )
8:25
8:6667
8:6581

jxk +1 xk j
1.6667
0.0042735
0.0000021

Tabela 3.2: Resultado do Exemplo 9.


3.2.4 Metodo 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 necessarias duas aproximac~oes para inicializarmos o processo, x0 e x1 .
y

f (x )

C = (x ; f (x
0

))

D
x A x

E B
x

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 recorr^encia do Metodo da Secantes, usamos a semelhanca de tri^angulos ABC
L. A. P. Cant~ao

26

Captulo 3. Equac~oes N~ao-Lineares

CNC

e AED:

f (x0 )
f (x1 )
=
x0 x2 x1 x2
onde x2 e o ponto denotado por A na Figura 3.8. Explicitando o valor da incognita x2 teremos:
x f (x ) x f (x )
x2 = 0 f (x1 ) f 1(x ) 0 :
1
0

Generalizando, no metodo das secantes usamos duas aproximac~oes xk


imac~ao xk +1 , atraves da formula:
x f (x ) x f (x )
xk +1 = k f1 (x )k f (kx k) 1 :
k

e xk , para calcular uma nova aprox-

k 1

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


Dado x0 , x1 , f (x ), max e 
Para k = 1 ate k = max faca
x f (x ) x f (x )
xk +1 = k f1 (x )k f (kx k) 1
k
k 1
Se jf (xk +1 )j   ou jxk +1 xk j   ent~ao
PARE, x = xk +1
1:
2:
3:
4:
5:
6:
7:
8:
9:

Fim do condicional
Se k = max ent~ao
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 10. Aplique o metodo das Secantes para encontrar a raiz de f (x ) = x 3

x1 = 1, para  = 10 4 (a Tabela 3.3 apresenta os passos deste exemplo).


k
1
2
3
4
5

xk 1
0
1
0.375
0.3319415
0.3376346

xk
1
0.375
0.3319415
0.3376346
0.337609

f (xk 1 )
f (xk )
0
5
5
0:3222656
0:3222656 0:0491011
0:0491011 0:0002222
0:0002222
1:464  10

9x + 3 tomando x0 = 0 e

jxk +1 xk j

0.625
0.0430585
0.0056931
0.0000256

Tabela 3.3: Resultado do Exemplo 10.

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 insatisfatoria, o problema deve
ser atacado diretamente.
A principal ferramenta para resolver uma equac~ao n~ao-linear e o Metodo de Newton. Essa tecnica sera modi cada para resolver um sistema de equac~oes n~ao-lineares.
L. A. P. Cant~ao

27

Captulo 3. Equac~oes N~ao-Lineares

CNC

3.3.1 Metodo de Newton para Sistemas N~ao-Lineares

Considere n func~oes : f1 ; f2 ; : : : ; fn , onde cada uma delas e uma func~ao de n variaveis fi : Rn ! R para
i = 1; 2; : : : ; n, ou seja, x1 ; x2 ; : : : ; xn . Queremos encontrar os valores de x1 ; x2 ; : : : ; xn tais que:

Considere o seguinte exemplo:

f1 (x1 ; x2 ; : : : ; xn ) = 0


f2 (x1 ; x2 ; : : : ; xn )
..
.


fn (x1 ; x2 ; : : : ; xn )

=
..
.
=

0
..
.
0

(3.2)

x1 (x1 + 1) + 2x2 = 18
(x1 1)2 + (x2 6)2 = 25

Aqui, procuramos x1 e x2 , tais que:


f1 (x1 ; x2 ) =
x1 (x1 + 1) + 2x2 18 = 0
f2 (x1 ; x2 ) = (x1 1)2 + (x2 6)2 25 = 0

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 sera 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 00 (x )
f (n) (x )
f (n+1) ( )
f (x ) = f (xk ) + f 0 (xk )(x xk ) + 2! k (x xk )2 +    + n! k (x xk )n + (n + 1)! (x xk )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

ou ainda, explicitando x temos,

se f (xk ) + f 0 (xk )(x xk ) = 0;

f (xk )
f 0 (xk ) :
Assim, a serie de Taylor e outra maneira de se obter a func~ao de iterac~ao do metodo de Newton.
Aplicando esta ideia para resolver o sistema (3.2), temos a aproximac~ao de Taylor como:
x = xk

F(x) = F(xk ) + F0 (xk )(x

xk ) + E

= aproximac~ao linear + erro

L. A. P. Cant~ao

(3.3)

(3.4)
28

Captulo 3. Equac~oes N~ao-Lineares

CNC

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 variavel, kEk  C kx 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 variaveis 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),
@fi (x)
J(x) = F0 (x) = [Jij ] =
:


@xj

Para estabelecer o metodo iterativo, a aproximac~ao na iterac~ao k + 1 sera de nida 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
J(xk )(xk +1

xk ) = 0
xk ) =
F(xk )

(3.5)

Para explicitar xk +1 , multiplicamos a equac~ao acima pela inversa da Jacobiana e teremos:


xk +1 = xk

J 1 (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 calculo
fazendo:
v =
J 1 (xk ) F(xk )
J(xk ) v =
F(xk )
Ou seja, o calculo 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 sera:
xk +1 = xk + v
O metodo de Newton para Sistemas n~ao-Lineares e dado pelo algoritmo (11)
Exemplo 11. 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:

@f1
2
@x1 = 6x1
@f2
3
@x1 = x2

@f1
@x2 = 2x2
@f2
2
@x2 = 3x1 x2 1

e, portanto, a matriz Jacobiana e:

6x12
J(x1 ; x2 ) =
x23
"

L. A. P. Cant~ao

2x2
3x1 x22 1

29

Captulo 3. Equac~oes N~ao-Lineares

CNC

@f para j = 1; 2; : : : ; n,  e 
Dado x0 , fi para i = 1; 2; : : : ; n, @x
1
2
1: Para k = 1 at
e k = max faca
2:
Para i = 1 ate i = n faca
3:
Fi = fi (xk 1 )
4:
Para j = 1 ate j = n faca
@f
5:
Jij = @xi (xk 1 )
j
6:
Fim do laco
7:
Fim do laco
8:
Resolva o sistema Jv = F
9:
xk = xk +1 + v
10:
Se max1i n jfi (x k )j < 1 ent~ao
11:
Ent~ao x = xk
12:
Fim do condicional
i

... ou ...
Se max1i n jxik xik 1 j < 2 ent~ao
Ent~ao x = xk

13:
14:
15:
16:
17:

Fim do condicional
Fim do laco

Algoritmo 11: Metodo de Newton para Sistemas N~ao-Lineares


Tomando um aproximac~ao inicial x0 = (1:2; 1:7) temos:

8:64 3:4
J(x ) =
4:91 9:4
0

"

F(x ) =
0

"

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 calculo 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 (x0 ) = 0:4340
f1 (x1 ) = 7:4607  10 3
f1 (x2 ) = 1:2779  10 4

f1 e f2 :

f2 (x0 ) = 0:1956
f2 (x1 ) = 1:9876  10
f2 (x2 ) = 3:202  10 4

Observe que a soluc~ao do sistema e o calculo do Jacobiano, a cada iterac~ao, s~ao dispendiosos. Para economizar
os calculos, podemos manter uma matriz Jacobiana xa 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
L. A. P. Cant~ao

30

Captulo 3. Equac~oes N~ao-Lineares

CNC

independente do sistema.

3.4 Exerccios
1. Localize gra camente as razes das equac~oes a seguir:
(c) 1 x ln x = 0;
(d) 2x 3x = 0;

(a) 4 cos x e2x = 0;


(b) x2 tg x = 0

(e) x 3 + x 1000 = 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]
(x = 2)

(b) [ 2:5; 3]
(x = 2)

(c) [ 1:75; 1:5]


(x = 1)

(d) [ 1:5; 1:75]


(x = 1)

4. Encontre um valor aproximado para 3 com precis~ao de 10 4 utilizando:


(a) Metodo da Bissec~ao;

(b) Metodo da Secante;

(c) Metodo de Newton.

5. Determinar pelo menos uma raiz de cada equac~ao abaixo com   10 4 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   10 5 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)(ex 2 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;
(b) x0 = 1:875;

(c) x0 = 1:5;
(d) x0 = 1:95;

(e) x0 = 3;
(f) x0 = 7.

Explique gra camente seus resultados.


8. Seja f (x ) = (4x 7)=(x 2). Veri que que f (1:8)f (3) < 0. E possvel usar o metodo da Bissec~ao para
localizar razes neste intervalo ? Explique.
L. A. P. Cant~ao

31

Captulo 3. Equac~oes N~ao-Lineares

CNC

9. Demonstrar que a raiz a, a  0 pode ser calculada pela formula de recorr^encia:


p

a
1
xk +1 = p (p 1)xk + p 1 ; x0 > 0:
xk
!

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 qu^e ?
(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:
4x 2 20x + 1 x 2 + 8 = 0
(a) 1 1 2 1 4 2
5x2 + 8 = 0
2 x1 x2 + 2x1
Resp.: x2 = (0:4958936; 1:983423)T
(

(b)

sen(4x1 x2 ) 2x2 x1 = 0

4 1 (e2x e) + 4ex 2 2ex = 0


1
2
4
Resp.: x2 = ( 0:5131616; 0:01837622)T


3x1 cos(x2 x3 ) 12 = 0
(c) 4x12 625x22 + 2x2 1 = 0

e x x +20x3 + 103 3 = 0
Resp.: x2 = (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

1 2

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 xk 1 k < 10 6 .
(a) Use x0 = (1; 1)T
(

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

Resp.: x5 = (0:5000; 0:8660254)T


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

ln(x + x ) sen(x1 x2 ) = ln 2 + ln 
ex x + cos(x1 x2 ) = 0
2
1

2
2

Resp.: x6 = (1:772454; 1:772454)T

L. A. P. Cant~ao

(c) Use x0 = ( 1; 2; 1)T

x13 + x12 x2 x1 x3 + 6 = 0
ex1 + ex2 x3 = 0
x22 2x1 x3 = 4

Resp.: x5 = ( 1:456043; 1:66423; 0:4224934)T


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

6x1 2 cos(x2 x3 ) 1 = 0
9x2 + x + sen x3 + 1:06 + 0:9 = 0
60x3 + 3 e x x +10 3 = 0
p

2
1

1 2

Resp.: x4 = (0:4981447; 0:1996059; 0:528826)T

32

CAPITULO

Ajuste de Curvas
Introduc~ao
Apresentaremos aqui os aspectos basicos e teoricos para ajuste de curvas usando interpolac~ao e aproximac~ao
de func~oes de uma variavel 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 ha a necessidade de aproximar dados tabelados atraves de uma func~ao. Para
isso existem duas classes de metodos e a distinc~ao entre elas esta em considerarmos, ou n~ao, a exist^encia 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. Metodo 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 variaveis 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 varios 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.
y

p(x )

xn

xn

Figura 4.1: Exemplo de Interpolac~ao.


Teorema 3. 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 );
Prova 1. Seja:

para

i = 0 : n:

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
n
onde lk s~ao os polin^omios de Lagrange de nidos por:

(x x0 )(x x1 ) : : : (x xk 1 )(x xk +1 ) : : : (x xn )
lkn = (x x )(
x1 ) : : : (xk xk 1 )(xk xk +1 ) : : : (xk xn )
k
0 xk
n
Y

(x xi ) :
=
(
x xi )
i =0; i 6=k k
Sabemos que:

lkn (xk ) = 1

lkn (xi ) = 0

para

(4.2)

i 6= k:

Com isso, veri camos que p(x ) e o polin^omio interpolador.


A unicidade e consequ^encia 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 Formula de Lagrange.


L. A. P. Cant~ao

34

Captulo 4. Ajuste de Curvas

CNC

Exemplo 12. Encontre o polin^omio que interpola f (x ) =

1
x 2 nos pontos x0 = 2, x1 = 2:5 e x3 = 4.

Como ser~ao usados tr^es pontos, o polin^omio interpolador tem grau 2. Pela substituic~ao dos pontos de interpolac~ao na express~ao 4.2, calculamos os polin^omios de Lagrange:

(x
l02 (x ) = (x
0
(x
l12 (x ) = (x
1
(x
l22 (x ) = (x
2

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

x2 )
(x 2:5)(x 4) = x 2 6:5x + 10
=
x2 )
(2 2:5)(2 4)
x2 )
(x 2)(x 4) = 4x 2 + 24x + 32
=
x2 )
(2:5 2)(2:5 4)
3
(x 2)(x 2:5) = x 2 4:5x + 5
x1 )
=
x1 )
(4 2)(4 2:5)
3

Lembrando que f (x ) = x12 , f (x0 ) = f (2) = 0:25, f (x1 ) = f (2:5) = 0:16 e


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

f (x2 ) = f (4) = 0:0625. Usando a

0:0625
0:16
p2 (x ) = 0:25(x 2 6:5x + 10) + 3 ( 4x 2 + 24x + 32) + 3 (x 2 4:5x + 5)
= 0:0575x 2 0:4388x + 0:8975
Apenas para comparac~ao, tomando x
com erro absoluto de 0:0125.
A Figura 4.2 ilustra este exemplo.

L. A. P. Cant~ao

= 3 teremos p2 (x ) = 0:0986, que e uma aproximac~ao de f (3) = 0:1111,

35

L. A. P. Cant~ao

2
0

l (x ) = x

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

0.6

0.8

1.0

l
2
3

x
2

4:5x + 5

2
1

4x 2 + 24x

Figura 4.2: Exemplo sobre Interpolac~ao de Lagrange.

0:4388x + 0:8975

32

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

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 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

1.4

0.05

0.05

p(x ) = 0:0575x

0.09

0.09

0.13

0.13

0.17

0.17

f (x ) =

0.21

0.21

0.25

0.25

2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0

0.29

0.29

Captulo 4. Ajuste de Curvas


CNC

36

Captulo 4. Ajuste de Curvas

CNC

4.1.2 Polin^omio Interpolador de Newton

Nem sempre temos conhecimento, a priori, do grau adequado para o polin^omio interpolador. Um teste razoavel
consiste em aumentar o numero de pontos de interpolac~ao, crescendo portanto o grau do polin^omio interpolador,
e testar se houve melhoria nos calculos. 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 calculos. Por outro lado, o Polin^omio de Newton acrescenta um
novo termo aos calculos 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 xn 1 )

(4.3)

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


Operador Diferen
cas Divididas

Seja y = f (x ) que passa pelos pontos (xi ; yi ), i = 0; 1; 2; : : : ; n. O operador de diferencas divididas  e de nido
como:
Ordem 0: 0 yi = yi
= [xi ]
Ordem 1:
Ordem 2:
:::
Ordem n:

0
=  xyi +1
i +1
2 yi = yxi +1
i +2

yi

0 yi
xi
yi
xi

= [xi ; xi +1 ]
= [xi ; xi +1 ; xi +2 ]

n 1
n 1
n yi =  xyi +1 x yi = [xi ; xi +1 ; xi +2 ; : : : ; xi +n ]
i +n
i

Forma de Newton para o Polin^


omio Interpolador

Sejam os n +1 pontos (xi ; yi ), i = 0; 1; 2; : : : ; n, com xi distintos, tais que yi = p(xi ), sendo p(x ) um polin^omio
de grau n. Pela de nic~ao de diferencas divididas, tem-se:
0
0
[x; x0 ] =  p(xx) x p(x0 ) = p(xx) xp(x0 )
0
0

ou

p(x ) = p(x0 ) + [x; x0 ](x x0 ):

(4.4)

No entanto,

[x; x0 ; x1 ] = [x; x0x] [xx0 ; x1 ] ! [x; x0 ] = [x0 ; x1 ] + [x; x0 ; x1 ](x x1 ):


1
Substituindo esta equac~ao em (4.4), tem-se:
p(x ) = p(x0 ) + [x0 ; x1 ](x x0 ) + [x; x0 ; x1 ](x x0 )(x x1 ):

(4.5)

Contudo,
[x; x0 ; x1 ; x2 ] = [x; x0 ; x1x] x[x0 ; x1 ; x2 ] ! [x; x0 ; x1 ] = [x0 ; x1 ; x2 ] + [x; x0 ; x1 ; x2 ](x x2 ):
2
L. A. P. Cant~ao

37

Captulo 4. Ajuste de Curvas

CNC

Substituindo a equac~ao acima em (4.5), tem-se:


p(x ) = p(x0 ) + [x0 ; x1 ](x x0 ) + [x0 ; x1 ; x2 ](x x0 )(x x1 ) + [x; x0 ; x1 ; x2 ](x x0 )(x x1 )(x x2 ):

(4.6)

Continuando o desenvolvimento de [x; x0 ; x1 ; x2 ], chega-se a


p(x ) = p(x0 ) + [x0 ; x1 ](x x0 ) + [x0 ; x1 ; x2 ](x x0 )(x x1 )

+ [x0 ; x1 ; x2 ; x3 ](x x0 )(x x1 )(x x2 ) + : : : +


+ [x0 ; x1 ; : : : ; xn ](x x0 )(x x1 ) : : : (x xn 1 )+
+ [x; x0 ; x1 ; : : : ; xn ](x x0 )(x x1 ) : : : (x xn )
Como p(x ) e um polin^omio de grau n, [x; x0 ; x1 ; : : : ; xn ] = 0.
Tomando y0 = p(x0 ) e usando a notac~ao de diferencas divididas com o operador , tem-se o polin^omio de
Newton de grau n:
pn (x ) = y0 + y0 (x x0 ) + 2 y0 (x x0 )(x x1 ) + : : : + n y0 (x x0 )(x x1 ) : : : (x xn 1 ):
Exemplo 13. 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 0 2
1
0
1 2 2 5
1
2 4 12 8
3 5 20
Tabela 4.2: 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 esperavamos 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
parabola.

4.2 Quadrados Mnimos Lineares


O metodo dos Quadrados Mnimos e a tecnica de aproximac~ao mais usada na analise numerica e em problemas
praticos, 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.
Seja f (x ) uma func~ao que sera aproximada por g (x ). No caso dos quadrados mnimos lineares partimos da
hipotese 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 )

L. A. P. Cant~ao

(4.7)
38

Captulo 4. Ajuste de Curvas

CNC

onde as func~oes 1 (x ), 2 (x ), ..., n (x ) s~ao preestabelecidas.


Para cada conjunto de coe cientes ci , i = 1 : n, o resduo de (4.7), em xk , sera:
r (xk ) = f (xk ) g (xk )
= f (xk ) [c1 1 (xk ) + c2 2 (xk ) + : : : cn n (xk )]
= r (xk ; c1 ; c2 ; : : : ; cn ):

(4.8)

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
i =1

r 2 (xi ) =

m
X
i =1

(f (xi ) g (xi ))2 ;

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 b
a

r 2 (x ) dx =

Z b
a

(f (x ) g (x ))2 dx:

De nic~ao 1. O produto escalar entre duas func~oes f (x ) e g (x ) e de nido por:

< f;g

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:
>= Z b

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

s~ao conhecidas e integraveis em

(4.9)

(a; b):

Note que, (4.9) 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.9), minimizando < r; r >, que e uma func~ao de c1 , c2 , ... cn .
Exemplo 14. 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:

O resduo para cada par (c1 ; c2 ) e para cada x , sera r (c1 ; c2 ; x ) = f (x )


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

L. A. P. Cant~ao

m
X
i =1

c1 c2 x . Assim, pelo metodo dos

[f (xi ) c1 c2 xi ]2 :

39

Captulo 4. Ajuste de Curvas

CNC

Do Calculo Diferencial sabemos que a condic~ao necessaria do ponto crtico e que as derivadas nele se anulem,
isto e,

@
@
<
r;
r
>
=
@c1
@c2 < r; r >= 0;
ou ainda, procedidas as repectivas derivac~oes com respeito a c1 e c2 em < r; r > temos:
m
X
i =1

m
X

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

i =1

Estas duas equac~oes formam um sistema linear nas incognitas

mc1 + c2
c1

m
X
i =1

xi + c2

m
X

i =1
m
X
i =1

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

c1 e c2 , que pode ser reescrito na forma:

xi =

xi2 =

m
X
i =1
m
X
i =1

f (xi )
xi f (xi )

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

xi
0
0.25
0.5
0.75
1.0
f (xi ) 1.000 1.2840 1.6487 2.1170 2.7183
Tabela 4.3: Dados para ajuste de curva.
Usando os valores da tabela temos:
5
X

i =1

5
X

i =1

Assim, os valores de

5
X

xi = 2:5;

i =1

f (xi ) = 8:768

5
X

i =1

xi2 = 1:875
xi f (xi ) = 5:4514

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.

xi
0
f (xi ) 1.000
g (xi ) 0.89968
r (xi ) 0.10032

0.25
1.2840
1.32664
0:04264

0.5
1.6487
1.7536
0:1049

0.75
1.0
2.1170
2.7183
2.18056 2.60752
0:06356 0.11078

Neste exemplo, a soma dos quadrados do resduo e:


5
X

i =1

L. A. P. Cant~ao

r 2 (xi ) = 0:039198

40

Captulo 4. Ajuste de Curvas

CNC

4.3 Interpolac~ao com Splines


Se a func~ao f (x ) esta 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 De nic~ao 2.
De nic~ao 2. 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 nos 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 elastica, 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 hipoteses (de
acordo com a teoria da elasticidade) a curva de nida pela regua pode ser descrita aproximadamente como sendo
uma func~ao por partes, cada qual um polin^omio cubico, 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 cubica interpolante com nos nos pontos xj , segundo a De nic~ao 2.
Estudaremos aqui dois tipos de Interpolac~ao por Splines: Interpolac~ao por Spline Linear e Interpolac~ao por
Spline Cubica.
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 [xj 1 ; xj ], j = 1; : : : ; n como:

Assim:

x x
x x
Sj (x ) = f (xj 1 ) x j x + f (xj ) x xj 1 ;
j
j 1
j
j 1

8 x 2 [xj 1 ; xj ] :

1. S (x ) e um polin^omio de grau 1 em cada subintervalo [xj 1 ; xj ];


2. S (x ) e contnua em (xj 1 ; xj ) e nos pontos xj , uma vez que S (x ) esta bem de nida, 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 15. Achar a func~ao de interpolac~ao por spline linear de:

xi 1.0 2.0 5.0 7.0


f (xi ) 1.0 2.0 3.0 2.5
De acordo com a de nic~ao:

L. A. P. Cant~ao

41

Captulo 4. Ajuste de Curvas

CNC

x x
x x
S1 (x ) = f (x0 ) x 1 x + f (x1 ) x 1 x0
1
0
0
x 1
2
x
+
22 1
= 2 x + 2x 2 = x x 2 [1; 2]
=
12 1
x x
x
S2 (x ) = f (x1 ) x 2 x + f (x2 ) x
2
1
2
x
5
x
+
35
=
25 2
x
x x
S3 (x ) = f (x2 ) x 3 x 2 + f (x3 ) x
3
3
x
7
x
=
37 5
+ 2:5 7
ou ainda,

S (x ) =

2
2

x1
x1

= 32 (5 x ) + x 2 = 13 (x + 4) x 2 [2; 5]

x2
x2
5 = 1 ( 0:5x + 8:5) ; x 2 [5; 7]
5
2

x
se x 2 [1; 2]
1 (x + 4)
se x 2 [2; 5]
3
1 ( 0:5x + 8:5) se x 2 [5; 7]
2

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 quadraticas, 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 cubicas s~ao mais usadas.
De nic~ao 3. Dada uma func~ao f (x ) de nida em [a; b] e um conjunto de nos a = x0 < x1 < : : : < xn = b, um
spline cubico interpolador

S (x ) para f e uma func~ao que satisfaz as seguintes condic~oes:

1.

S (x ) e um polin^omio cubico, 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);

4.

Sj0+1 (xj +1 ) = Sj0 (xj +1 ) para cada j = 0; 1; : : : ; (n 2);

5.

Sj00+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:

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).
(a)

Para se construir o spline cubico interpolador para uma func~ao dada, as condic~oes indicadas na de nic~ao s~ao
aplicadas aos polin^omios cubicos
Sj (x ) = aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3

L. A. P. Cant~ao

42

Captulo 4. Ajuste de Curvas

CNC

para cada j = 0; 1; : : : ; (n 1) (condic~ao (1)).


Da condic~ao (2), temos:
Sj (xj ) = aj + bj (xj xj ) + cj (xj xj )2 + dj (xj xj )3
= aj
Sj (xj ) = 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 , simpli camos a notac~ao para cada j = 0; 1; : : : ; (n 1). Se de nirmos an = f (xn ),
ent~ao a equac~ao:
aj +1 = aj + bj hj + cj hj2 + dj hj3
(4.10)
e valida 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.11)

para cada j = 0; 1; 2; : : : ; (n 1).


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

Aplicando na condic~ao (5), para cada j = 0; 1; : : : ; (n 1),


2cj +1 = 2cj + 6dj hj
cj +1 = cj + 3dj hj
Isolando dj :

cj +1 cj
3hj
Substituindo a equac~ao (4.12) nas equac~oes (4.10) e (4.11), respectivamente, temos:
dj =

aj +1

L. A. P. Cant~ao

= aj + bj hj + cj hj + cj +13h cj hj3
j


cj +1 cj 2
2
= aj + bj hj + cj hj +
hj
3
2

(4.12)

(4.13)

43

Captulo 4. Ajuste de Curvas

CNC
cj +1 cj 2
hj
3hj
= bj + 2cj hj + (cj +1 cj ) hj

bj +1 = bj + 2cj hj + 3

(4.14)

= bj + (cj +1 + cj )hj
Resolvendo a equac~ao (4.13) para bj , temos:
c
c
aj +1 = aj + bj hj + cj hj + j +13h j hj3
j
hj2
bj hj = (aj +1 aj ) 3 (2cj + cj +1 )
1
h
bj = h (aj +1 aj ) 3j (2cj + cj +1 )
2

(4.15)

Reduzindo os ndices para bj 1 :


bj

= h 1 (aj aj 1 ) hj3 1 (2cj 1 + cj )


j 1

Substituindo esses valores na equac~ao (4.14), com os ndices reduzidos, temos o sistema linear de equac~oes:
bj = bj 1 + (cj + cj 1 )hj 1
1
hj
hj 1
1
hj (aj +1 aj ) 3 (2cj + cj +1 ) = hj 1 (aj aj 1 ) 3 (2cj 1 + cj ) + (cj + cj 1 )hj
3
3
hj 1 cj 1 + 2cj (hj 1 + hj ) + hj cj +1 = h (aj +1 aj ) h (aj aj 1 )
j
j 1

(4.16)

para cada j = 1; 2; : : : ; (n 1). Esse sistema envolve apenas fcj gnj=0 como incognitas, na medida em que os valores
de fhj gjn=01 e faj gnj=0 s~ao dados, respectivamente, pelo espacamento dos nos fxj gnj=0 e os valores de f nos nos.
Note que, uma vez que os valores de fcj gnj=0 s~ao determinados, essa e uma maneira simples de encontrar as
constantes fbj gjn=01 remanescentes na equac~ao (4.15) e fdj gnj=0 da equac~ao (4.12), e de se construir os polin^omios
cubicos fSj (x )gnj =01 .
A quest~ao maior que ca em relac~ao a essa construc~ao e se os valores de fcj gnj=0 podem ser encontrados
utilizando-se o sistema de equac~oes (4.16) 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 De nic~ao 3 e
imposta.
Teorema 4. Se f e de nida em a = x0 < x1 < : : : < xn = b, ent~ao f tem um unico spline interpolador natural
(ou livre) S nos nos 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 2. 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

L. A. P. Cant~ao

c0 = 0 e cn = 0, juntamente com as equac~oes (4.16), produzem um sistema linear descrito

44

Captulo 4. Ajuste de Curvas

CNC

pela equac~ao vetorial Ax = b, onde A e uma matriz

A=

(n + 1)  (n + 1):

1
0
0

..
.
h0 2(h0 + h1 )
h1
0
h1
2(h1 + h2 ) h2



..
.
..
.

..

..

..

..



..

..

..
..

..
.
..
.
..
.

.
.

hn 2 2(hn 2 + hn 1 ) hn 1
0
0
1



e b e x s~ao os vetores:

h1 (a2

b=

3 (an an
h 1

a1 )

h0 (a1

a0 )

..
.
1

(an

an 2 )

c0
c1

x= .
:
.
.

A matriz A e diagonalmente dominante, e portanto, tem soluc~ao unica para

cn

c0 ; c1 ; : : : ; cn .

Teorema 5. Se f e de nida em a = x0 < x1 < : : : < xn = b, e diferenciavel em a e b, ent~ao f tem um spline


interpolador restrito S nos nos
S 0 (a) = f 0 (a) e S 0 (b) = f 0 (b).

x0 ; x1 ; : : : ; xn ; isto e, um spline interpolador que satisfaz as condic~oes de contorno

Prova 3. Como f 0 (a) = S 0 (a) = S 0 (x0 ) = b0 , aplicando-se a equac~ao (4.15), com j = 0, temos:

1
h
f 0 (a) = h (a1 a0 ) 30 (2c0 + c1 )
0
3
0
3f (a) = h (a1 a0 ) h0 (2c0 + c1 )
0
3
2h0 c0 + h0 c1 = h (a1 a0 ) 3f 0 (a)
0
Do mesmo modo (equac~ao (4.14)):

f 0 (b) = bn = bn 1 + hn 1 (cn 1 + cn )
de maneira que a equac~ao (4.15) nos permite dizer que

j = n 1 implica que:

an an 1 hn 1
hn 1
3 (2cn 1 + cn ) + hn 1 (cn 1 + cn )
a a
h
f 0 (b) = n h n 1 + n3 1 (cn 1 + 2cn )
n 1
3f 0 (b) = h 3 (an an 1 ) + hn 1 (cn 1 + 2cn )
n 1
3
hn 1 cn 1 + 2hn 1 cn = 3f 0 (b) h (an an 1 )
n 1
f 0 (b) =

L. A. P. Cant~ao

45

Captulo 4. Ajuste de Curvas

CNC

A equac~ao (4.16), juntamente com as equac~oes:

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


0
3
hn 1 cn 1 + 2hn 1 cn = 3f 0 (b) h (an an 1 )
n 1
determinam o sistema linear Ax = b, onde

A=

2h0
h0
0

..
.
h0 2(h0 + h1 )
h1
0
h1
2(h1 + h2 ) h2



..
.
..
.

..
..

..

..



..

..
..
..

0
..
.
..
.
..
.

.
.

hn 2 2(hn 2 + hn 1 ) hn 1
0
hn 1
2hn 1



e b e x s~ao os vetores:

a0 ) 3f 0 (a)

h0 (a1
3

h1 (a2

b=

3
h (an an
1

3f 0 (b)

a1 )

h0 (a1

a0 )

..
.
1

(an

an 2 )

(an an 1 )

c0
c1

x= .
:
.
.

cn

A matriz A e diagonalmente dominante, e portanto, tem soluc~ao unica para

c0 ; c1 ; : : : ; cn .

Exemplo 16. Construa os splines cubicos naturais, com S 00 (x0 ) = S 00 (xn ) = 0, para:

0.1
0:62049958

0.2
0.3
0.4
0:28398668 0:00660095 0:2484244
Como os intervalos est~ao igualmente espacados, hj = 0:1, para j = 0; 1; 2; 3. Assim,
xi
yi

usando o Teorema 4,

temos o seguinte sistema tridiagonal linear:

1
0:1
0
0

0
0:4
0:1
0

0
0:1
0:4
0

0
0
0:1
1

c0
c1
c2
c3

0
1:377581
1:4629254
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.15) e
(4.12), respectivamente, como mostra a Tabela 16.
A partir da Tabela 16, podemos montar a func~ao spline:

S (x ) =

0:62049958 + 3:4550869(x 0:1) 8:9957933(x 0:1)3


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 2 [0:1; 0:2)
x 2 [0:2; 0:3)
x 2 [0:3; 0:4]

46

Captulo 4. Ajuste de Curvas

CNC
aj
0:62049958
0:28398668
0:00660095
0:24842440
Tabela 4.4:

bj
cj
dj
3:4550869
0
8:9957933
3:1852131 2:698738 0:9463033
2:6170764 2:982629 9:9420967
|
0
|
Coe cientes para os splines naturais.

Exemplo 17. Construa os splines cubicos 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
temos o seguinte sistema tridiagonal linear:

0:2
0:1
0
0

0:1
0:4
0:1
0

0
0:1
0:4
0 :1

0
0
0:1
0:2

= 0:1,

c0
c1
c2
c3

para

j = 0; 1; 2; 3. Assim, usando o Teorema 5,

0:6596755
1:377581
1:4629254
0:7588225

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.15) e
(4.12), respectivamente, como mostra a Tabela 17.

aj
bj
cj
dj
0:62049958 3:5850208 2:1498408 0:4907741
2:297073
0:4745836
0:28398668 3:1403294
0:00660095 2:6666773 2:4394481 0:4498015
|
2:5743885
|
0:24842440
Tabela 4.5: Coe cientes para os splines restrito.
A partir da Tabela 17, podemos montar a func~ao spline:

S (x ) =

0:62049958 + 3:5850208(x 0:1) 2:1498408(x 0:1)2 0:4907741(x 0:1)3


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 2 [0:1; 0:2)
x 2 [0:2; 0:3)
x 2 [0:3; 0:4]

4.4 Exerccios
1. Obtenha o polin^omio interpolador de Lagrange e Newton para as seguintes func~oes :
(a)
(b)
(c)
(d)

f (x ) = e2x cos 3x , x0 = 0, x1 = 0:3 e x2 = 0:6, n = 2;


f (x ) = sen(ln x ), x0 = 2:0, x1 = 2:4 x2 = 2:6, n = 2;
f (x ) = ln x , x0 = 1, x1 = 1:1, x2 = 1:3 e x3 = 1:4, n = 3;
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 ( 13 ) 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

47

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 coe ciente 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 esta sendo
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. Apresentando os dados
xi
4.0
4.2
4.5
4.7
5.1
5.5
5.9
6.3
6.8
7.1
yi 102.56 113.18 130.11 142.05 167.53 195.14 224.87 256.73 299.50 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.

6. Repita o exerccio anterior para os seguintes dados:


xi
0.2
0.3
0.6
0.9
1.1
1.3
1.4
1.6
yi 0.050446 0.098426 0.33277 0.72660 1.0972 1.5697 1.8487 2.5015

7. 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).
xi 1.0 1.1 1.3 1.5 1.9 2.1
yi 1.84 1.96 2.21 2.45 2.94 3.18
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 .

Resposta:

8. Transforme os modelos abaixo em relac~oes lineares:


(a) y = b +a cx

(b) y = abx

(c) y = b +a x

(d) y = 1 +1ebx

9. Suponha que num laboratorio obtivemos experimentalmente os seguintes valores para f (x ) sobre os pontos
xi , i = 1 : 8:
xi
1:0
0:7
0:4
0:1 0:2
0:5
0:8
1:0
f (xi ) 36:547 17:264 8:155 3:852 1:820 0:860 0:406 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 e
(c) Calcule o resduo da sua aproximac~ao.
L. A. P. Cant~ao

c2 x ;

48

Captulo 4. Ajuste de Curvas

CNC
x
y

Resposta:

y = 3:001 e

2:5x

8 6
30 10

4
9

2 0 2 4
6 5 4 4

10. Ajuste os dados:


(a) usando a aproximac~ao y = (c +1 c x ) . Faca o gra co para 1=y e veri que que esta aproximac~ao e
0
1
viavel;
(b) idem para y = abx ;
(c) compare os resultados (a) e (b).
1
x
Resposta: (a) y =
0:195 + 0:0185x , (b) y = 5:5199(0:8597) .
11. O numero de bacterias, por unidade de volume, existente em uma cultura apos x horas e apresentado na
tabela:
n de horas (x ) 0 1 2 3 4
5
6

n de bacterias por vol. unitario (y ) 32 47 65 92 132 190 275
(a) Veri que 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.
12. Determine o spline cubico livre S que interpole os dados f (0) = 0, f (1) = 1 e f (2) = 2.
Resposta: S (x ) = x , em [0; 2].
13. Determine o spline cubico 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.
14. Construa os splines cubicos livres para os dados que se seguem.
(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
15. Os dados no Exerccio acima foram gerados utilizando-se as func~oes a seguir. Use os splines cubicos 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 (0:84) e f 0 (0:84);
(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);
16. Construa os splines cubicos restritos utilizando os dados do Exerccio (10) e o fato de que:
(a) f 0 (8:3) = 1:116256 e f 0 (8:6) = 1:151762;
L. A. P. Cant~ao

49

Captulo 4. Ajuste de Curvas


(b)
(c)

CNC

f 0 (0:8) = 2:1691753 e f 0 (1:0) = 2:0466965;


f 0 ( 0:5) = 0:751 e f 0 (0) = 4:002;

17. Repita o Exerccio (11) utilizando os splines gerados no Exerccio (12).


18. Um spline cubico natural S em [0; 2] e de nido por:
S (x ) =

S0 (x ) = 1 + 2x x 3
S1 (x ) = 2 + b(x 1) + c (x 1)2 + d (x 1)3

se 0  x < 1
se 1  x  2

Encontre b, c e d .
Resposta: b = 1, c = 3 e d = 1.
19. Um spline cubico restrito S para uma func~ao f e de nido em [1; 3] por:
S (x ) =

S0 (x ) = 3(x 1) + 2(x 1)2 (x 1)3


S1 (x ) = a + b(x 2) + c (x 2)2 + d (x 2)3

se 1  x < 2
se 2  x  3

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


20. Construa um spline cubico 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.
21. Repita o exerccio acima, construindo desta vez um spline cubico restrito com f 0 (0) = f 0 (1) = 0.
22. Dada a partic~ao x0 =R 0, x1 = 0:05 eR x2 = 0:1 de [0; 0:1], encontre a func~ao interpoladora linear para
f (x ) = e2x . Aproxime 00:1 e2x dx com 00:1 S (x ) dx , e compare os resultados com os valores reais.

L. A. P. Cant~ao

50

CAPITULO

Integrac~ao Numerica
Introduc~ao
Isto e: por que n~ao restringir o calculo de integrais ao uso das tecnicas de
integrac~ao estudadas no Calculo Diferencial e Integral ? A resposta para essa quest~ao tem por base dois fatos:
Por que Integrac~ao Numerica ?

1. Geralmente em problemas envolvendo o calculo 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 Calculo, mas
que s~ao os dados necessarios para a integrac~ao numerica;
2. Mesmo quando se conhece a express~ao analtica da func~ao integrando, o calculo da func~ao primitiva pode
ser trabalhoso e nem sempre simples. Por exemplo, a integral
Z

x 2 dx

resulta em uma func~ao que n~ao pode ser expressa em termos de combinac~oes nitas de outras func~oes
algebricas, logartmicas ou exponenciais.
A ideia basica da integrac~ao numerica reside na aproximac~ao da func~ao integrando por um polin^omio. As
formulas de integrac~ao s~ao somatorios cujas parcelas s~ao valores da func~ao f (x ) calculados em pontos e multiplicados por pesos convenientemente escolhidos. Assim, vamos procurar desenvolver formulas de integrac~ao do
tipo:
Z b
n
X

f (x ) dx = wi f (xi );
(5.1)
a

i =0

onde a  x0 < x1 <    < xn  b s~ao chamados pontos de integrac~ao e wi s~ao os pesos da formula de integrac~ao.

5.1 Formula de Newton-Cotes


Neste caso, os pontos de integrac~ao s~ao igualmente espacados em (a; b), tal que h = b n a , onde n e um
numero inteiro. Os pontos de integrac~ao (para este caso) s~ao:
xj = a + jh j = 0 : 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
i =0

f (xi )li (x ):

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


Z b
a

f (x ) l (x ) dx =

n
X
i =0

f (xi )

Z b
a

li (x ) dx:

Assim, de (5.1), o calculo de wi e obtido pela integrac~ao de li (x ), isto e:


wi =

Z b
a

li (x ) dx =

Z b
a

(x x0 ) : : : (x xi 1 )(x xi +1 ) : : : (x xn )
(xi x0 ) : : : (xi xi 1 )(xi xi +1 ) : : : (xi xn ) dx:

(5.2)

Atraves da equac~ao (5.2) podemos obter formulas do tipo Newton-Cotes para polin^omios de qualquer grau.
5.1.1

F
ormula dos Trapezios: n = 1

A formula 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:
w0 =
w1 =

Z x1
x0

Z x1
x0

(x x1 )
(x0 x1 ) dx =

1 Z x (x x ) =
1
h x

(x x1 )2 x =x = h
2h x =x
2

(x x0 )
(x1 x0 ) dx =

1 Z x (x x ) =
0
h x

(x x0 )2 x =x = h
2h x =x
2

Com isso, podemos estabelecer a formula dos trapezios para a integrac~ao no intervalo (x0 ; x1 ):
Z x1
x0

h
f (x ) dx = 2 [f (x0 ) + f (x1 )] :

(5.3)

5.1.2 F
ormula de Simpson: n = 2

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

L. A. P. Cant~ao

Z x2
x0

Z x2
x0

Z x2
x0

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

(x x0 )(x x2 ) dx = 4h
(x1 x0 )(x1 x2 )
3
(x x0 )(x x1 )
h
(x2 x0 )(x2 x1 ) dx = 3
52

Captulo 5. Integrac~ao Numerica

CNC

O calculo das integrais acima podem ser simpli cados lembrando que:
x1 x0 = h; x2 x1 = h; x2 x0 = 2h

e usando a substituic~ao de variaveis 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 calculo do peso w0 temos:
w0 =

Z x1
x0

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

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

Z h

Dessa maneira, usando polin^omios interpoladores de grau 2, estabelecemos a formula de Simpson:


Z x2
x0

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

y
y

f (x )
= p (x )
=

(5.4)

(a)

x
2

(b)

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
parabola 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

Z x3
x0

 n=4

Z x4
x0

f (x ) l (x ) dx =

3h [f (x ) + 3f (x ) + 3f (x ) + f (x )]
0
1
2
3
8


2h
f (x ) l (x ) dx = 45 [7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )]


Exemplo 18. Sabemos que

ln 2 =

Z
1

(5.5)
(5.6)

1 
x dx = 0:69314718:

Use as formulas de Newton-Cotes apresentadas (formulas (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

53

Captulo 5. Integrac~ao Numerica

CNC

5.2 Formulas Repetidas


Divida o intervalo de integrac~ao [a; b] em n subintervalos de igual comprimento h = (b n a) . Sejam x0 = a,
xi = xi 1 + h e xn = b. Podemos aplicar a regra dos trapezios para cada um dos subintervalos. Assim, lembrando
que xi xi 1 = h, e as propriedades de integrais, temos:
Z b
a

Z x1

f (x ) dx =

x0

f (x ) dx +

Z x2
x1

f (x ) dx +

Z x3
x2

f (x ) dx : : : +

Z x

f (x ) dx

h
2 [f (x0 ) + 2f (x1 ) + 2f (x2 ) : : : + 2f (xn 1 ) + f (xn )] :

=

 

(5.7)

Se optarmos por aplicar a formula de Simpson repetida, devemos repartir o intervalo num numero par de
subintervalos, uma vez que cada parabola requer tr^es pontos de interpolac~ao. Assim, se n e um numero par:
Z b
a

Z x2

f (x ) dx =

x0

f (x ) dx +

Z x4
x2

f (x ) dx + : : : +

Z x

f (x ) dx

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

 

= h3 ff (x0 ) + 4 [f (x1 ) + f (x3 ) + : : : f (xn 1 )] +


2 [f (x2 ) + f (x4 ) + : : : + f (xn 2 )] + f (xn )g

(5.8)

Exemplo 19. Ainda calculando aproximac~oes para ln 2, aplique as formulas (5.7) e (5.8) no intervalo [1; 2] e

h = 0:25. Calcule o erro absoluto para cada aproximac~ao.

5.3 Integrac~ao de Romberg


As formulas de Newton-Cotes podem ser combinadas de modo a melhorar a aproximac~ao da integrac~ao
numerica. Uma tecnica e ciente para estabelecer esta combinac~ao e atraves da integrac~ao de Romberg, que
e baseada na extrapolac~ao de Richardson.
5.3.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 ) =

1 g (k ) (x )
X
0
k =0

k
k ! (x x0 )

g (x0 ) + g 0 (x0 )(x

g 00 (x )
g n (x )
x0 ) + 2! 0 (x x0 )2 + : : : + n! 0 (x x0 )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:
h2
h3
g (h) = g (0) + g 0 (0)h + g 00 (0) 2 + g 000 (0) 3! + : : :
h
g 2

 

L. A. P. Cant~ao

2
h3
= g (0) + g 0 (0) h2 + g 00 (0) h8 + g 000 (0) 48
+ :::

54

Captulo 5. Integrac~ao Numerica

CNC

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 somatorios de nimos uma aproximac~ao mais
precisa:
 

 

h
1
h
g1 (h) = 2g 2
g (h) = 21 1 21 g 2
g (h)
=

2g (0) + 2g 0 (0) h

+ 2g 00 (0) h

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

+ 2g 000 (0) h

48 + : : :

+ g 000 (0) h

3

2
6 =
2
h3
= g (0) g 00 (0) h4 3g 000 (0) 24
+ :::
Se g1 (h) for usada para calcular g (0), ent~ao este sera mais preciso. Repetindo a ideia, tomamos agora g1 (h)
e g1 (h=2) para de nir outra aproximac~ao g2 (h). Sejam:
h2
g1 (h) = g (0) g 00 (0) 4
h
g1 2

 

h3
3g 000 (0) 24
+ :::

h2
h3
= g (0) g 00 (0) 16
3g 000 (0) 192
+ :::

Subtraindo a primeira equac~ao da segunda, multiplicada por 4, teremos:


4g1 h2

 

Dessa maneira:

h3
g1 (h) = 3g (0) + 3g 000 (0) 48 + : : :

h
1
g2 (h) = 3 4g1 2


 

h
1
g1 (h) = 22 1 22 g1 2


 

g1 (h)

(5.10)
3
h
= g (0) + g 000 (0) 48 + : : :
Em resumo, a ideia e aplicar sucessivamente combinac~oes de aproximac~oes para melhorar a aproximac~ao nal.
Pode-se veri car que a express~ao generica do n-esimo estagio deste procedimento e:
gn (h) =

2n gn 1 (h=2) gn 1 (h) = 1 2n g
n
2n 1
2n 1

h
2

 

gn 1 (h)

(5.11)

5.3.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

h
x

Figura 5.2: Intervalo (x0 ; x2 ).

L. A. P. Cant~ao

55

Captulo 5. Integrac~ao Numerica

CNC

Aplicando a formula dos trapezios simples e repitida temos:


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

e I1 h2 = h2 [f (x0 ) + 2f (x1 ) + f (x2 )] :


 

Usando a formula de extrapolac~ao (5.10), temos:


1
h
I2 (h) = 3 4I1 2
I1 (h)


1
4
h
= 3 2 [f (x0 ) + 2f (x1 ) + f (x2 )] h [f (x0 ) + f (x2 )]
= 31 [f (x0 ) + 4f (x1 ) + f (x2 )]
Note que, a express~ao de I2 (h) corresponde a formula de Simpson aplicada no intervalo (x0 ; x2 ), que e uma
aproximac~ao melhor do que a formula do Trapezio. Se quisermos uma aproximac~ao melhor, podemos usar a formula
geral (5.11).


 

Exemplo 20. Calcule a integral abaixo usando a Extrapolac~ao de Richardson com n = 4.


Z
0

x2

dx

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

0:5

x 4 dx ;

(e)

(Resposta: (Tr) 0:265625, (Sp) 0:1940104)


Z 0:5
2 dx ;
(b)
x 4
0
(Resposta:
(Tr)
0:2678571, (Sp)
0:2670635)
(c)

Z 1:5
1

x 2 ln x dx ;

(Resposta:
0:1922453)
(d)

0:17776434,

2x
x 2 4 dx ;

(Resposta:
(Tr)
0:7391053)
Z 0:35
2 dx ;
(f)
2
x
4
0
(Resposta:
(Tr)
0:1768216)

(Sp) (g)

dx ;
(Resposta: (Tr) 0:1839397, (Sp) 0:16240168)
0

x e

(Tr)

Z 1:6

(h)

0:8666667,

(Sp)

0:1777643,

(Sp)

Z =4

x sen x dx ;
(Resposta: (Tr) 0:2180895, (Sp) 0:1513826)
0

Z =4

e3x sen 2x dx ;
(Resposta: (Tr) 4:1432597, (Sp) 2:5836964)
0

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

Z
1

x ln x dx , n = 4;

(Resposta: (Tc) 0:639900)


L. A. P. Cant~ao

(b)

2
2

x 3 ex dx , n = 4;

(Resposta: (Tc) 31:3653)


56

Captulo 5. Integrac~ao Numerica

CNC
1
2 + 4 dx , n = 8;
x
0
(Resposta: (Tc) 0:476977)
Z 5
p 2x dx , n = 8;
(g)
x 4
3
(Resposta: (Tc) 0:605498)

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

(d)
(e)

(f)

Z 

x 2 cos x dx , n = 6;
(Resposta: (Tc) 6:42872)
0

e2x sen 3x dx , n = 8;
0
(Resposta: (Tc) 13:5760)

(h)

Z 3=8

tan x dx , n = 8;
(Resposta: (Tc) 0:970926)
0

3. Suponha que f (0) = 1, f (0:5) = 2:5,R f (1) = 2 e f (0:25) = f (0:75) = . Determine se a regra Trapezoidal
Composta com n = 4 da 1.75 para 01 f (x ) dx .
4. Utilize a integrac~ao de Romberg para calcular as seguintes integrais, com n = 3:
(a)
(b)
(c)
(d)

Z 1:5
1

Z
0

x 2 ln x dx ; (Resposta: 0:1922593)

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

2 dx ; (Resposta: 0:1768200)
x 4
x sen x dx ; (Resposta: 0:08875677)

(h)

dx ; (Resposta: 0:1606105)

(f)

Z =4

Z =4

2x dx ; (Resposta: 0:7341567)
2
x
4
1
Z 3:5
p 2x dx ; (Resposta: 0:6362135)
(g)
x 4
3

x2 e

Z 0:35

(e)

5. Utilize os seguintes dados para aproximar

Z 1:6

Z =4
0

(cos x )2 dx ; (Resposta: 0:6426970)

f (x ) dx usando a integrac~ao de Romberg.

xi 1:0 1:25 1:5


1:75 2:0
f (xi ) 1:0 0:8 0:6666 0:5714 0:5
6. Use a regra de Simpson com n = 8 para aproximar o valor medio de f no intervalo dado.

(a) f (x ) = x 4 1+ 1 , [0; 4]. (Resposta: 0:28)

(b) f (x ) = cos x , [ 1; 1]

7. Para controlar a poluic~ao termica de um rio, um biologo registra a temperatura (em  F) a cada hora, de 9h
da manh~a as 5h da tarde. Os dados constam da tabela abaixo:
Hora
9
10 11 12
1
2
3
4
5
Temperatura 75:3 77:0 83:1 84:8 86:5 86:4 81:1 78:6 75:1
Use a regra de Simpson e o Teorema do Valor Medio (Calculo) para estimar a temperatura media da agua
entre 9h da manh~a e 5h da tarde.
8. Calcule

Z
0

10

x 4 dx usando:

(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

57

Captulo 5. Integrac~ao Numerica

CNC

9. Aproxime a integral impropria fazendo a substituic~ao u = 1=x e aplicando ent~ao a regra de Simpson com
n = 4.
(a)
(b)

Z 1
2

p 41

x +x

x2

dx (Resposta: 0:49)

dx (Resposta: 0:14)

10. Obtenha uma aproximac~ao de


com n = 4. (Resposta: 1:79)

L. A. P. Cant~ao

Z
0

(c)

(d)

Z
1

jx j
3 + 1 dx
x
1
1
p
e x sen x dx
10

cos
pxx dx fazendo a substituic~ao u = px e aplicando a regra do trapezio

58

CAPITULO

Aproximaco~es para Equaco~es Diferenciais


Ordinarias
Introduc~ao
O que e uma Equac~ao Diferencial Ordinaria (EDO) ? E uma relac~ao que envolve uma \func~ao incognita" e

suas derivadas ou diferenciais. Por exemplo:


1. y 0 (x ) = f (x ), onde y 0 (x ) denota dy
dx ;
00
2. y (x ) + y (x ) = 0;
3. y (3) (x ) + (sen x )y 00 (x ) + 5xy (x ) = 0.

S~ao equac~oes cujas incognitas s~ao func~oes de uma variavel e suas derivadas (caso unidimensional).
Qual e a ordem de uma EDO ? E a ordem da mais alta derivada da func~ao incognita.
Qual e a soluc~ao de uma EDO ? E uma func~ao de nida num intervalo que, juntamente com suas derivadas,

satisfaz a equac~ao diferencial dada.

Tipos de problemas com EDO Para de nir uma unica func~ao y (x ), temos de fornecer dados adicionais a equac~ao

diferencial; estes dados de nem dois tipois de problemas:


1.

(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 resolv^e-la:

Problema de valor inicial

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 devera 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.

e y (b) = yn ;

Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias

CNC

Objetivos Apresentar metodos numericos que nos conduzam a aproximac~oes da func~ao de uma unica variavel

y (x ), soluc~ao das EDOs de tipos:

y 0 (x ) = f (x; y (x ))

e 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 ra-

dioativa, podemos constatar que \o numero 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 matematico que representa o fen^omeno da
desintegrac~ao e dado por:
dx (t )
dt = x (t )

onde dx
dt e a variac~ao int^antanea (desintegrac~ao) sofrida pela subst^ancia e o par^ametro > 0 representa o
coe ciente de proporcionalidade, que e constante para cada subst^ancia espec ca. Usamos o sinal negativo
porque o numero de atomos diminui com o passar do tempo e, portanto, dx
dt < 0.

6.1 Diferencas Finitas


A ess^encia dos metodos numericos esta na discretizac~ao do contnuo. E esta discretizac~ao que torna \ nito"
o problema e, portanto, viabiliza sua soluc~ao computacional.
A incognita de uma equac~ao diferencial ordinaria e uma func~ao y (x ) de nida em todos os pontos do intervalo
no qual a equac~ao esta 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, de nimos uma malha, que e
um conjunto nito de pontos, chamados de nos da malha.
Seja x0 um ponto de refer^encia e h um numero positivo. A malha de passo h associada a x0 e o conjunto de
pontos:
xi = x0  ih; 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 matematica basica de aproximac~ao para as derivadas e a serie de Taylor, pois esta nos da
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:
h2
hn
hn+1
y (x + h) = y (x ) + hy 0 (x ) + 2! y 00 (x ) + : : : + n! y (n) (x ) + (n + 1)! y (n+1) ();

(6.2)

onde  esta entre x e x + h.


Se tomarmos n = 1 em (6.2), teremos:
h2
y (x + h) = y (x ) + hy 0 (x ) + 2! y 00 ():

L. A. P. Cant~ao

60

Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias

CNC

Isolando y 0 (x ) na equac~ao acima, a formula avancada para a discretizac~ao da derivada e seu erro e:
y (x + h) y (x ) h 00
h
2 y ():
De modo semelhante, tomando h em (6.2), ainda com n = 1, temos:
y 0 (x ) =

(6.3)

h2
y (x h) = y (x ) hy 0 (x ) + 2! y 00 ():
Isolando y 0 (x ) na equac~ao acima, a formula atrasada para a discretizac~ao da derivada e seu erro e:
y (x ) y (x h) h 00
+ 2 y ():
h
Tomemos agora n = 2 em (6.2), reescrevemos as formulas avancada e atrasada, temos:
y 0 (x ) =

(6.4)

h2
h3
y (x + h) = y (x ) + hy 0 (x ) + 2 y 00 (x ) + 3! y 000 ()
h2
h3
y (x h) = y (x ) hy 0 (x ) + 2 y 00 (x ) 3! y 000 ()
Subtraindo a penultima express~ao da ultima, temos:
h3
y (x h) y (x + h) = 2hy 0 (x ) 2 3! y 000 ():
Rearranjando a express~ao acima, obtemos a formula centrada para discretizac~ao da derivada e o seu erro:
y (x + h) y (x h) h2 000
(6.5)
2h
3! y ()
Seguindo as mesmas ideias, podemos estabelecer uma express~ao para o calculo da aproximac~ao para a segunda
derivada. Tomando n = 3 em (6.2), temos:
y 0 (x ) =

h2
h3
h4
y (x + h) = y (x ) + hy 0 (x ) + 2 y 00 (x ) + 3! y 000 (x ) + 4! y (iv ) ()
h2
h3
h4
y (x h) = y (x ) hy 0 (x ) + 2 y 00 (x ) 3! y 000 (x ) + 4! y (iv ) ()

Somando estas duas ultimas formulas e explicitanto y 00 (x ), obtemos uma formula 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)
h2

h2 (iv )
12 y ()

(6.6)

para algum  2 (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 esta de nida, denotamos por yi a
aproximac~ao de y (xi ) (ou seja, yi 
= y (xi )), usamos:
y 0 (xi ) 
=

L. A. P. Cant~ao

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

61

Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias


e

CNC

yi +1 2yi + yi 1
;
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 de nidas em [a; b]. O problema de encontrar y (x ) tal que:
y 00 (x ) =

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 hipotese


q (x )  0; a  x  b;

e a escolha de h tal que:

h  max jp(x )j < 2




[a;b]

tornam o sistema diagonalmente dominante, com todas as desigualdades estritas, o que garante a exist^encia 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 :
y 0 (xi ) 
=

yi +1 yi
2h

y
2y + y
e y 00 (xi ) 
= i +1 h2i i 1 ;

obtendo a discretizac~ao da EDO:


yi +1 2y1 + yi 1
+ p(xi ) yi +1 2h yi
h2
ou ainda, denotando pi = p(xi ), qi = q (xi ) e r (xi ),


1 h2 pi yi 1 +


+ q (xi )yi = r (xi ); i = 1 : n 1

2 + h qi yi + 1 + h2 pi yi +1 = h2 ri ;
2

para i = 1 : n 1. Note que a primeira e a ultima equac~oes devem ser modi cadas pela utilizac~ao da condic~ao de
contorno.
Exemplo 21. Aproxime numericamente a soluc~ao da EDO abaixo usando o metodo de Diferencas Finitas:

y 00 y 0 + xy = ex (x 2 + 1);
com condic~oes de contorno:
usando

y (0) = 0;

x 2 (0; 1)

y (1) = e

h = 0:1 e a formula centrada para aproximar y 0 (xi ).

L. A. P. Cant~ao

62

Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias

CNC

Dado a, b, p(x ), q (x ), r (x ), y0 , yn , n
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:

h = (b a)=n
Para j = 1 ate j = n 1 faca
x = a + jh
h
di (j ) = 1 2 p(x )
d (j ) = 2 + h2 q (x )
h
ds (j ) = 1 + 2 p(x )
ti (j ) = h2 r (x )
Fim do laco

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


ti (n 1) = ti (n 1) yn (1 + (h=2)p(b h))
Resolver o sistema.

Algoritmo 12: Metodo de Diferencas Finitas de Sturm-Liouville

6.2 Metodos 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 de nida pelo passo h, podemos usar a formula de diferencas nitas avancada para
discretizar a derivada de y (x ) no ponto xk . Assim, obtemos uma vers~ao discretizada de (6.7):
yk +1 yk
(6.8)
= f (xk ; yk ):
h
Esta equac~ao permite que calculemos yk +1 a partir de yk , e de ne o Metodo de Euler. Sua aplicac~ao e muito
simples:
y0 = y (x0 )
(6.9)
yk +1 = yk + hf (xk ; yk ); para k = 0; 1; : : :
O Algoritmo 13 ilustra este metodo.
Dado a, b, n, y0 e f (x; y )
1:
2:
3:
4:
5:

h = (b a)=n
Para k = 0 ate k = n 1 faca
xk = a + kh
yk +1 = yk + hf (xk ; yk )
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

63

Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias

CNC

equac~ao, e Kutta (1901), para o caso de sistemas de EDO de primeira ordem. Os Algoritmos 14, 15 e 16
apresentam os metodos de Runge-Kutta (como s~ao conhecidos) para EDO's de primeira ordem.
Dado a, b, n, y0 e f (x; y )
1:
2:
3:
4:
5:
6:
7:

h = (b a)=n
Para k = 0 ate k = n 1 faca
xk = a + kh
m0 = hf (xk ; yk )
m1 = hf (xk + h; yk + m0 )
1
yk +1 = yk + 2 (m0 + m1 )
Fim do laco

Algoritmo 14: Metodo de Runge-Kutta de segunda ordem


Dado a, b, n, y0 e f (x; y )
1:
2:
3:
4:
5:
6:
7:
8:

h = (b a)=n
Para k = 0 ate k = n 1 faca
xk = a + kh
m0 = hf (xk ; yk )

h
m
m1 = hf xk + 2 ; yk + 20
m2 = hf (xk +1 ; yk m0 + 2m1 )
1
yk +1 = yk + 6 (m0 + 4m1 + m2 )
Fim do laco

Algoritmo 15: Metodo de Runge-Kutta de terceira ordem


Dado a, b, n, y0 e f (x; y )
1:
2:
3:
4:
5:

6:
7:
8:
9:

h = (b a)=n
Para k = 0 ate k = n 1 faca
xk = a + kh
m0 = hf (xk ; yk )

h
m
m1 = hf xk + 2 ; yk + 20


h
m1
m2 = hf xk + 2 ; yk + 2
m3 = hf (xk +1 ; yk + m2 )
1
yk +1 = yk + 6 (m0 + 2m1 + 2m2 + m3 )
Fim do laco

Algoritmo 16: Metodo de Runge-Kutta de quarta ordem


Exemplo 22. Seja a EDO:

1
y 0 (x ) = 1 + x 2
y (0) = 0

2y 2

Resolva-a usando os metodos de Euler, Runge-Kutta de segunda, terceira e quarta ordens para x

L. A. P. Cant~ao

2 (0; 1) e h = 0:1.
64

Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias

CNC

Compare os resultados obtidos com a sua soluc~ao analtica (calcule o erro relativo):

x
y = 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)
(b)
(c)
(d)

y 0 = y=t (y=t )2 , 1  t  2, y (1) = 1, com h = 0:1 e x 2 [1; 2]; soluc~ao real: y (t ) = t=(1 + ln t ).
y 0 = 1 + y=t + (y=t )2 , 1  t  3, y (1) = 0 com h = 0:2 e x 2 [1; 2]; soluc~ao real: y (t ) = t tan(ln t ).
y 0 = sen(x )y , x 2 [0; ], y (0) = 1, m = 6; soluc~ao real: y (x ) = ecos(x ) 1 .
p 
y 0 = x + 1 y , x 2 [1; 3], y (1) = 1, m = 5; soluc~ao real: y (x ) = e 2x 1 5 =3+x 5=3
:

Atenc~ao:

m e o numero de subintervalos.

2. Dado o PVI

2
y 0 = t y + t 2 et ; 1  t  2 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 numero de subintervalos n indicado:
(a)
(b)
(c)

y 0 = x , y (0) = 0, x 2 [0; 2] e n = 5: (soluc~ao usando o metodo de Euler: y5 = 1:55490);


y 0 = x 2 + y 2 , y (1) = 0, x 2 [1; 2] e n = 8 (soluc~ao usando o metodo de Euler: y8 = 3:39195);
y 0 = xy , y (0) = 1, x 2 [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);
p
soluc~ao real: y (x ) = cos x + ( 2 1) sen x .
(b) y 00 + 4y = cos x , 0  x  (=4), yp(0) = 0, y (=4) = 0; use h = (=20);
soluc~ao real: y (x ) = 31 cos 2x 62 sen 2x + 13 cos x .
(c) y 00 = x4 y 0 x22 y + 2 xln2 x , 1  x  2, y (1) = 12 , y (2) = ln 2; use h = 0:05;
soluc~ao real y (x ) = x4 x22 + ln x 23 .
(d) y 00 = 2y 0 y + x ex x , 0  x  2, y (0) = 0, y (2) = 4; use h = 0:2;
soluc~ao real: y (x ) = 61 x 3 ex 35 x ex +2 ex x 2.

5. Use o Metodo das Diferencas Finitas para aproximar as soluc~oes dos seguintes PVC:
(a) y 00 = x4 y 0 + x22 y x22 ln x , 1  x  2, y (1) = 12 , y (2) = ln 2; use h = 0:05;
0
(b) y 00 = yx + x32 y + lnxx 1, 1  x  2, y (1) = y (2) = 0; use h = 0:1
L. A. P. Cant~ao

65

Exerccios

Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias

6. Considere o PVI: y 0 = yx 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 2 [0; 2];
(b) idem, usando Runge-Kutta de 4a ;
(c) Sabendo que a soluc~ao analtica do problema e y = e x +x =3 , coloque num mesmo gra co a soluc~ao
analtica e as soluc~oes numericas encontradas nos itens anteriores. Compare seus resultados.
7. Dado o PVI y 0 = yx , y (0) = 20, deseja-se encontrar aproximac~oes para y (16). Resolva por:
(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)
3

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 nitas, o PVC:

y 00 + 2y 0 + y = x
y (0) = 2
y (1) = 0

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 e 2x ) + 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; 0  x  2 ; y (0) = 0:3; y 2 = 0:1
tem a soluc~ao y (x ) = 101 (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 .

12. Use o Metodo das Diferencas Finitas para aproximar as soluc~oes de y = e

(c) Qual o valor de y (=4) nos


itens anteriores.
10x

y 00 = 100y; 0  x  1; y (0) = 1; y (1) = e

Use h = 0:1 e h = 0:25.


66

para o PVC:

10

Refer^encias Bibliogra cas


[1] R. L. Burden, J. D. Faires.
[2] F. F. Campos Fo.
[3] M. C. C. Cunha.

An
alise Num
erica

Algoritmos Num
ericos

M
etodos Num
ericos

. Pioneira Thomson Learning, 2003.

. LTC Editora, 2001.

. 2a Edic~
ao, Editora da Unicamp, 2000.

[4] N. J. Higham. Accuracy and Stability of Numerical Algorithms, SIAM { Society for Industrial and Applied Mathematics,
1996.
[5] M. A. G. Ruggiero, V. L. R. Lopes C
alculo Num
erico:
1996.
[6] D. Sperandio, J. T. Mendes, L. H. M. e Silva.
M
etodos Num
ericos. Prentice Hall, 2003.
[7] J. Stewart.

C
alculo

Aspectos Te
oricos e Computacionais

C
alculo Num
erico:

. 2a Edic~
ao, Makron Books,

Caracter
sticas Matem
aticas e Computacionais dos

. Volume I. 5a Edic~
ao, Pioneira Thomson Learning, 2006.

[8] E. W. Sowokowski.

. Volume 1. 2a Edic~
ao, Makron Books, 1994.

C
alculo com Geometria Anal
tica

[9] www.nrbook.com/b/bookcpdf.php
[10] www.mathworks.com/moler/chapters.html

67