Você está na página 1de 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 3


1.1 Representac~ao de Numeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Aritmetica de Ponto Flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Sistemas de Equaco~es Lineares 7
2.1 Metodos Diretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Sistemas Triangulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Metodo de Eliminac~ao de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Fatorac~ao LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Metodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3 Converg^encia dos Metodos de Jacobi e Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . 17
2.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Metodo da Bissec~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.3 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.4 Metodo da Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Sistemas N~ao-Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.1 Metodo de Newton para Sistemas N~ao-Lineares . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Ajuste de Curvas 33
4.1 Interpolac~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.1 Polin^omio Interpolador de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1.2 Polin^omio Interpolador de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Quadrados Mnimos Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Interpolac~ao com Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3.1 Interpolac~ao por Spline Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3.2 Interpolac~ao por Spline Cubico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

1

SUMARIO 
SUMARIO

4.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Integrac~ao Numerica 51
5.1 Formula de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.1 Formula dos Trapezios: n = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.2 Formula de Simpson: n = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.3 Formulas de Newton-Cotes para n = 3 e n = 4 . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Formulas Repetidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3 Integrac~ao de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.1 Extrapolac~ao de Richardson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.2 Integrac~ao de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6 Aproximaco~es para Equaco~es Diferenciais Ordinarias 59
6.1 Diferencas Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.2 Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Refer^encias Bibliogra cas 67

2
CAPITULO 1

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 utu-
ante. 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.

3
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 m = 0:100  10 5 = 10 6 , e o maior numero, M = 0:999  105 = 99900, ambos em
valor absoluto.
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 4
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) p = , p = 22=7; (EA = 0:001264 e ER = 4:025  10 4 )
(b) p = , p = 3:1416; (EA = 7:346  10 6 e ER = 2:338  10 6 )
(c) p = e, p = 2:718; (EA = 2:818  10 4 e ER = 1:037  10 4 )
(d) p = e10 , p = 22000; (EA = 1:454  10 e ER = 1:05  10 2 )
(e) p = 8!, p = 39900; (EA = 420 e ER = 1:042  10 2 )
p
(f) p = 2, p = 1:414; (EA = 2:136  10 4 e 1:51  10 4 )
p
(g) 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
P

o erro absoluto e o erro relativo nas seguintes aproximac~oes de e:

(a)
5
X 1;
n=0
n!

(b)
10
X 1.
n=0
n!

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


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:
30000
S= xi
X

i =1

(a) para xi = 0:5;


(b) para xi = 0:11 .

L. A. P. Cant~ao 5
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:
(a) 4 arctan 2 + arctan 31 (Aprox. 3:14557613, EA = 3:983  10 3 e ER = 1:268  10 3 )
1
    

(b) 16 arctan 15 4 arctan 239 1 (Aprox. 3:14162103, EA = 2:838  10 5 e ER = 9:032  10 6 )


   

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) 133 + 0:921 (Aprox. 134, EA = 0:079 e ER = 5:9  10 4 )
(b) 133 0:499 (Aprox. 133, EA = 0:499 e ER = 3:77  10 3 )
(c) (121 0:327) 119 (Aprox. 2:00, EA = 0:327 e ER = 0:195)
(d) (121 119) 0:327 (Aprox. 1:67, EA = 0:003 e ER = 1:79  10 3 )
13 6
(e) 214e 5:74 (Aprox. 1:80, EA = 0:154 e ER = 0:0786)
(f) 10 + 6 e 62 3 (Aprox. 15:1, EA = 0:0546 e ER = 3:6  10 3 )

(g) 29  97 (Aprox. 0:286, EA = 2:86  10 4 e ER = 10 3 )


   

 22
(h) 1 7 (Aprox. 0:00, EA = 0:0215 e ER = 1:00)
17
7. A formula quadratica estabelece que as razes da equac~ao ax 2 + bx + c = 0, quando a 6= 0, s~ao:
p p
b + b2 4ac b b2 4ac
x1 = 2a e x2 =
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 abso-
luto e relativo para cada raiz.
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.
(a) 13 x 2 123 4 x + 1 =0
6
(b) 13 x 2 + 123
4 x 6 =0
1

(c) 1:002x 11:01x + 0:01265 = 0


2

(d) 1:002x 2 + 11:01x + 0:01265 = 0


Quest~
ao x1 EA ER x2 EA ER

7 0:02 2:4 10 1 62:1 3:2 10 4


8 (a) 92:26 0:1542 1 672  10 4
: 0:005419 6:273  10 7 1 157  10 4
:

(b) 0:005421 1:264  10 6


2 333  10 4
: 4:58  10 3
4 58  10 3
: 4 965  10 5
:

(c) 10:98 6:875  10 3


6 257  10 4
: 7:566  10 8
7 566  10 8
: 6 584  10 5
:

(d) 0:001149 7 566  10


:
8
6 584  10 5
: 6 875  10
:
3
6 875  10 3
: 6 257  10 4
:

L. A. P. Cant~ao 6
CAPITULO 2

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



(2.1)

.. .. ... .. ..

. . . .
an1 x1 + an2 x2 + : : : + ann xn = bn


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


As tecnicas diretas s~ao metodos que d~ao uma resposta em um 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 generica-
mente 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 (2.3a)

x3 = 1

x1 = 2


2x1 + x2 = 3 (2.3b)

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





3 2 3 4



x2 = 1 = 1 x2 = 1 = 1

2+1 1 =1 2 4 1= 3




x1 = x3 =



2 5 5

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


a11 x1 + a12 x2 +    + a1;n 1 xn + a1n xn = b1

1
a22 x2 +    + + = b2

a2;n 1 xn a2n xn


1

..


(2.4a)

.
an x + an 1;n xn = bn 1


1;n 1 n 1



ann xn = bn


a11 x1 = b1


+ a22 x2 = b2

a21 x1



..


(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 8
Captulo 2. Sistemas de Equac~oes Lineares CNC

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


bn
Faca xn =
1:
ann
2: Para k = n 1 ate k = 1 faca
3: soma = bk
4: Para j = k + 1 ate j = n faca
5: soma = soma akj xj
6: Fim do laco
soma
7: xk = a
kk
8: Fim do laco

Algoritmo 1: Soluc~ao de Sistemas Triangulares Superiores


Dado n, Ann (matriz triangular inferior), bn1 e xn1 .
b1
Faca x1 =
1:
a11
2: Para k = 2 ate k = n faca
3: soma = bk
4: Para j = 1 ate j = k 1 faca
5: soma = soma akj xj
6: Fim do laco
soma
7: xk = a
kk
8: 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 9
Captulo 2. Sistemas de Equac~oes Lineares CNC

a11 a12 a13    a1n b1 l1(1)




a21 a22 a23    a2n b2
l2(1)
.. .. .. ... .. .. ..


. . . . . .


ai 1 ai 2 ai 3    ain bi li(1)


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

. . . . . .



an 1 an 2 an 3    ann bn ln(1)

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:
a11 a12 a13    a1n b1 l1(1)

0 a22    a2(2)n b2(2)



(2)
a23
(2)
l2(2)
.. .. .. . . .. .. ..

. .

. . . . .

0 a a    ain bi
(2) (2) (2) (2)
li(2)

i2 i3


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

. . . . . . .


0 an(2)2 an(2)3    ann



(2)
bn(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 a11 x1 + a12 x2 +    + a1n xn = b1



0 a22
(2)
a23
(2)
   a2(2)n b2(2) x2 +    + a2(2)n xn = b2(2)

a22
(2)



.. ()

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

. . . . . . .




(n)
ann xn = bn(n)

0 0 0    ann (n)
bn (n)

(n)
No processo de eliminac~ao, os elementos a11 , a22
(2)
, a33
(3)
, ..., ann que aparecem na diagonal principal da matriz
A s~ao chamados piv^os e os elementos mij , para i = 1; 2;    ; n e k = i + 1;    ; n, os multiplicadores.
Se no processo de eliminac~ao um dos piv^os se anular, devemos trocar linhas (sempre escolhendo aquelas abaixo
da diagonal para n~ao perder a eliminac~ao anterior), de modo que escolhamos elementos n~ao nulos para piv^os.
Dado n, Ann , bn1 e xn1 .
1: Para k = 1 ate k = n 1 faca
2: Selecione i  k tal que aik 6= 0
3: Se aii = 0 para todo i  k ent~ao
4: A n~ao e inversvel. PARE
5: Caso contrario
6: 6 k ent~ao
Se i =
7: Troque a linha k com a linha i
8: Fim do condicional
9: Fim do condicional
10: Para i = k + 1 ate i = n faca
a
11: m = mik = a ik
kk
12: bi = bi mbk
13: Para j = k + 1 ate j = n faca
14: aij = aij makj
15: Fim do laco
16: Fim do laco
17: Fim do laco
18: 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 24:72x2 = 20:49


15:96x2 = 15:96
cuja soluc~ao e x1 = 10 e x2 = 1, que e a soluc~ao exata do sistema.
O procedimento usado no exemplo 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 > jaij j, i = 1; 2; : : : ; n,
X

j 6=i
para todo i .
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 economi-
camente 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 e Ux = y:

L. A. P. Cant~ao 12
Captulo 2. Sistemas de Equac~oes Lineares CNC

Dado n, Ann , bn1 e xn1 .


1: Para k = 1 ate k = n 1 faca
2: w = jakk j e r = k
3: Para j = k ate j = n faca
4: Se jakj j > w ent~ao
5: w = jajk j e r = j
6: Fim do condicional
7: Fim do laco
8: Se w = 0 ent~ao
9: A n~ao e inversvel. PARE
10: Caso contrario
11: Troque a linha k com a linha r
12: Fim do condicional
13: Para i = k + 1 ate i = n faca
a
14: m = mik = a ik
kk
15: bi = bi mbk
16: Para j = k + 1 ate j = n faca
17: aij = aij makj
18: Fim do laco
19: Fim do laco
20: Fim do laco
21: Execute o algoritmo (1).

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

Resolvendo o primeiro sistema, calculamos y que, usado no segundo sistema, 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:

3x1 + 2x2 + 4x3 = 1




x1 + x2 + 2x3 = 2

4x1 + 3x2 + 2x3 = 3



L. A. P. Cant~ao 13
Captulo 2. Sistemas de Equac~oes Lineares CNC

Dado n, Ann , bn1 e xn1 .


1: Para i = 1 ate i = n faca
2: Para j = i ate j = n faca
i 1
uij = aij mik ukj
X
3:

k =1
4: Para j = i + 1 ate j = n fac!a
i 1
mij = aji mjk uki =uii
X
5:

k =1
6: Fim do laco
7: Fim do laco
8: Fim do laco
9: Execute o algoritmo (2) para resolver Ly = b e o algoritmo (1) para resolver Ux = y

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

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

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

! !

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

0 0 1 4 3 2 4=3 0 1 0 1=3 10=3 4=3 1 1 0 0 4
1a Etapa
Piv^o: a11 = u11 = 3 e multiplicadores:
a 1 a 4
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 u 1=3
u22 = 3 e multiplicadores: m32 = u32 = 1=3 = 1.
22

u33 = u33 m32 u23


Resolvendo L(Ux) = b

(i) Ly = b
y1 = 1

T
=) y = 1; 35 ; 0

1=3y1 + y2 = 2

4=3y1 + y2 + y3 = 3

(ii) Ux = y
3x1 + 2x2 + 4x3 = 1


1=3x2 + 2=3x3 = 5=3 =) x = ( 3; 5; 0)T

4x3 = 0

L. A. P. Cant~ao 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:
n

x1 = b1 a1j xj =a11
X

j =2
..
.
n

xi = bi aij xj =aii (2.5)


X

j 6=i
..
.
n 1

xn = bn anj xj =ann
X

j =1

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

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


X

j 6=i

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) ,
(2)
2
, : : : usando (2.5).
x(2)
Veri camos se este metodo converge fazendo:
(k +1)
xi xi(k )

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

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

n1 , max, 
Dado n, Ann , bn1 e x(0)
1: Para k = 0 ate k = max faca
2: Para i = 1 ate i= n faca
n

3:
1
xi(k +1) = a bi
X
aij xj(k )
ii j =1; j 6=i
(k +1)
xi xi(k )

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

4:
1i n (k +1)
xi


5: x = x(k +1)
6: Caso contrario
7: Se k = max ent~ao
8: PARE: n~ao houve converg^encia.
9: Fim do condicional
10: Fim do condicional
11: Fim do laco
12: Fim do laco

Algoritmo 6: Metodo de Jacobi


Dado n, Ann , bn1 e x(0)
n1 , max, 
1: Para k = 0 ate k = max faca
2: Para i = 1 ate i= n faca
i 1 n

(k +1)
xi = a1 bi (k +1)
aij xj aij xj (k )
X X
3:
ii j =1 j =i +1
(k +1)
xi xi(k )

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



4:
1i n (k +1)
xi


5: x = x(k +1)
6: Caso contrario
7: Se k = max ent~ao
8: PARE: n~ao houve converg^encia.
9: Fim do condicional
10: Fim do condicional
11: Fim do laco
12: Fim do laco

Algoritmo 7: Metodo de Gauss-Seidel


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

4:00x1 + 0:24x2 0:08x3 = 8:00




0:09x1 + 3:00x2 0:15x3 = 9:00

0:04x1 0:08x2 + 4:00x3 = 20:00



L. A. P. Cant~ao 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
n
de Jacobi e Gauss-Seidel convergem se a matriz A e diagonalmente dominante, ou
seja: jaii j > jaij j; i = 1 : n.
X

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) (e)
x1 + 2x2 = 3 x1 + 2x2 = 0
x1 x2 = 0 2x1 + 4x2 = 0
(f)
(b) 2x1 + x2 = 1
x1 + x2 = 0 x1 + x2 = 2
x1 x2 = 0 x1 3x2 = 5
(c) (g)
x1 + 2x2 = 3 2x1 + x2 = 1
2x1 + 4x2 = 6 4x1 + 2x2 = 2
x1 3x2 = 5
(d) (h)
x1 + x2 = 3 2x1 + x2 + x3 = 1
2x1 4x2 = 6 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) (b)
4x1 x2 + x3 = 8 4x1 + x2 + 2x3 = 9
2x1 + 5x2 + 2x3 = 3 2x1 + 4x2 x3 = 5
x1 + 2x2 + 4x3 = 11 x1 + x2 3x3 = 9

3. Considere os seguintes sistemas:


 (i) Soluc~ao real: (10; 1)T :
3:03x1 12:1x2 + 14x3 = 119


3:03x1 + 12:1x2 7x3 = 120

6:11x1 14:2x2 + 21x3 = 139



L. A. P. Cant~ao 17
Captulo 2. Sistemas de Equac~oes Lineares CNC

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


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

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


 (iii) Soluc~ao real: (0:17682530; 0:01269269; 0:02065405; 1:18260870)T :
1:19x1 + 2:11x2 100x3 + x4 = 1:12



14:2x1 0:122x2 + 12:2x3 x4 = 3:44




100x2 99:9x3 + x4 = 2:15
15:3x1 + 0:110x2 13:1x3 x4 = 4:16


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


p p p
x1 e x2 + 2x3 3x4 = 11


p x1 + pe x2 e x3 + p7 x4 = 0
2 2 3




5x1 6x2 + px3 2x4 = p
 x1 + e x2
3 2 7x3 + 9 x4
1
= 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 Gauss-
Seidel. Justi que sua resposta.
4. Sejam o sistemas lineares:
10 2 3 5 x1 48

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

1 8 1 2 x2 4

(a) x1 + x2 + x3 = 12 (b) =

2 1 5 1 x3 11

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


1 2 3 20 x4 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:
x1 3x2 + 5x3 + 6x4 = 17

1 2 4 x1 13


8x1 + 4x2 x3 = 29


(a) (b) 3 1 4 x2 8


3x1 + 2x2 2x3 + 7x4 = 11


2 14 5 x3 50
x1 + 2x2 + 5x3 4x4 = 7


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


(a) 1 3:001 2 x2 9 (b) 5x1 x2 + 4x3 = 2



4 1 9 x3 29
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 .
0 2 1 4 1 3

1 2 1 3 4 0


0 1 1 1 2 1

A =


2 3 4 2 0 5


1 1 1 3 0 2



1 1 2 1 2 0

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


(a)
1:012x1 2:132x2 + 3:104x3 = 1:984
2:132x1 + 4:096x2 7:013x3 = 5:049
3:104x1 7:013x2 + 0:014x3 = 3:895
(b)
2:1756x1 + 4:0231x2 2:1732x3 + 5:1967x4 = 17:102
4:0231x1 + 6:0000x2 + 1:1973x4 = 6:1593
1:0000x1 5:2107x2 + 1:1111x3 = 3:0004
6:0235x1 + 7:0000x2 4:1561x4 = 0:0000

L. A. P. Cant~ao 19
CAPITULO 3

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
y = cos x
0.6

0.4

0.2

0
x 1 x 2 x 3 x 4
0.2

0.4

0.6

0.8

1.0
7 5 3 1 1 3 5 7
x

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 0
3 2 1 0 1 2 3 4 0.5 0.1 0.3 0.7 1.1 1.5 1.9 2.3 2.7

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

7 9.1

1 9.1

9 27.4

17 45.7

25 64.0
4 3 2 1 0 1 2 3 4 4 3 2 1 0 1 2 3 4

(a) (b)

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

2.
p
f (x ) = x 5 e x : Neste caso, e mais conveniente usar os passos (2) e (3). Assim, x 5 e x = 0 ()
p
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

1.91 5.00

0.92
h(x ) 4.29
f (x )
0.07 3.57

1.05 2.86

2.04 2.14

3.03
g (x ) 1.43

4.01 0.71

5.00 0.00
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

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

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

jxk xk 1 j   ou
xk  ;
1

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

x 0 = a 1 = a 2 = a 3

a=a 0
x
b=b =b 0 1

x 2 = b 3 x 1 = b 2

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
2: xk = 2
3: Se f (a)  f (xk ) < 0 ent~ao
4: b = xk
5: Caso contrario
6: a = xk
7: Fim do condicional
8: Se jb aj   ent~ao
a+b
PARE, x =
9:
2 e raiz aproximada de f (x )
10: Fim do condicional
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 9x + 3 no intervalo I = [0; 1],
para  = 10 (a Tabela 3.1 apresenta os passos deste exemplo).
3

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 CNC

k a b xk = (a + b)=2 f (xk ) f (a)  f (xk ) jb a j


0 0 1 0.5 1:375 ( ) 0:5
1 0 0.5 0.25 0:765625 (+) 0.25
2 0.25 0.5 0.375 0:3222656 ( ) 0.125
3 0.25 0.375 0.3125 0:2180176 (+) 0.06
4 0.3125 0.375 0.34375 0:0531311 ( ) 0.03125
5 0.3125 0.34375 0.328125 0:0713582 (+) 0.014375
6 0.328125 0.34375 0.3359375 0:0144744 (+) 0.0078125
7 0.3359375 0.34375 0.3398438 0:0193443 ( ) 0.0039063
8 0.3359375 0.3398438 0.78906 0:0024384 ( ) 0.0019531
9 0.3359375 0.3378906 0.336914 0:0060175 (+) 0.0009766
10 0.336914 0.3378906 0.3374023 0:0017893

Tabela 3.1: Resultado do Exemplo 8.


y
y = f (x )


x x x x
2 1 0 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 ) ! x1 = x0 ff 0((xx0 ))


0 1 0

tg( ) = xf (x1x) = f 0 (x1 ) ! x2 = x1 ff 0((xx1 ))


1 2 1

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


f (xk )
xx +1 = 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: Para k = 0 ate k = max faca
f (x )
2: xx +1 = xk f 0 (xk )
k
3: Se jf (xk +1 )j   ou jxk +1 xk j   ent~ao
4: PARE, x = xk +1
5: Fim do condicional
6: Se k = max ent~ao
7: PARE, o metodo n~ao converge para a soluc~ao.
8: Fim do condicional
9: Fim do laco

Algoritmo 9: Metodo de Newton-Raphson


k xk f (xk ) f 0 (xk ) jxk +1 xk j
0 0.5 1:375 8:25 1.6667
1 0.3333 0:0370 8:6667 0.0042735
2 0.3376068 0:0000183 8:6581 0.0000021
3 0.337609 4:545  10 12

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
y = f (x )
C = (x ; f (x
0 0 ))

E B
x A x 1 x 0 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 1 e xk , para calcular uma nova aprox-
imac~ao xk +1 , atraves da formula:
x f (x ) x f (x )
xk +1 = k f1 (x )k f (kx k) 1 :
k k 1
O Algoritmo 10 sistematiza o procedimento para o metodo das Secantes.
Dado x0 , x1 , f (x ), max e 
1:Para k = 1 ate k = max faca
x f (x ) x f (x )
2: xk +1 = k f1 (x )k f (kx k) 1
k k 1
3: Se jf (xk +1 )j   ou jxk +1 xk j   ent~ao
4: PARE, x = xk +1
5: Fim do condicional
6: Se k = max ent~ao
7: PARE, o metodo n~ao converge para a soluc~ao.
8: Fim do condicional
9: 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 9x + 3 tomando x0 = 0 e
x1 = 1, para  = 10 4 (a Tabela 3.3 apresenta os passos deste exemplo).
k xk 1 xk f (xk 1 ) f (xk ) jxk +1 xk j
1 0 1 0 5 0.625
2 1 0.375 5 0:3222656 0.0430585
3 0.375 0.3319415 0:3222656 0:0491011 0.0056931
4 0.3319415 0.3376346 0:0491011 0:0002222 0.0000256
5 0.3376346 0.337609 0:0002222 1:464  10 7

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 aproximando-
se 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:
f1 (x1 ; x2 ; : : : ; xn ) = 0



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

= 0


(3.2)

.. .. ..


. . .
fn (x1 ; x2 ; : : : ; xn )
  = 0


Considere o seguinte exemplo:


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 se f (xk ) + f 0 (xk )(x xk ) = 0;
ou ainda, explicitando x temos,
f (xk )
x = xk
f 0 (xk ) : (3.3)
Assim, a serie de Taylor e outra maneira de se obter a func~ao de iterac~ao do metodo de Newton.
Aplicando esta ideia para resolver o sistema (3.2), temos a aproximac~ao de Taylor como:
F(x) = F(xk ) + F0 (xk )(x xk ) + E
(3.4)
= aproximac~ao linear + erro

L. A. P. Cant~ao 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 xk ) = 0
(3.5)
J(xk )(xk +1 xk ) = F(xk )

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 @f1
@x1 = 6x1 @x2 = 2x2
2

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

e, portanto, a matriz Jacobiana e:

6x12 2x2
" #
J(x1 ; x2 ) =
x23 3x1 x22 1

L. A. P. Cant~ao 29
Captulo 3. Equac~oes N~ao-Lineares CNC

Dado x0 , fi para i = 1; 2; : : : ; n, @x
@f para j = 1; 2; : : : ; n,  e 
i

j
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
13: ... ou ...
14: Se max1i n jxik xik 1 j < 2 ent~ao
15: Ent~ao x = xk
16: Fim do condicional
17: 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 0:4340


" # " #
J(x ) =
0
e F(x ) =
0
4:91 9:4 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 e f2 :
f1 (x0 ) = 0:4340 f2 (x0 ) = 0:1956
f1 (x1 ) = 7:4607  10 3 f2 (x1 ) = 1:9876  10 3

f1 (x2 ) = 1:2779  10 4 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:
(a) 4 cos x e2x = 0; (c) 1 x ln x = 0; (e) x 3 + x 1000 = 0.
(b) x2 tg x = 0 (d) 2x 3x = 0;

2. Calcular pelo menos uma raiz de cada equac~ao abaixo com   0:001 pelo metodo da Bissec~ao.
(a) f (x ) = e2x 2x 3 5 = 0;
(b) f (x ) = 2x 3 5x 2 x + 3 = 0;
(c) f (x ) = 5x 2 + log(x + 1) 2 = 0.
3. Seja f (x ) = (x + 2)(x + 1)x (x 1)3 (x 2). Para que zero de f o metodo da Bissec~ao vai convergir quando
for aplicado nos seguintes intervalos ?
(a) [ 3; 2:5] (b) [ 2:5; 3] (c) [ 1:75; 1:5] (d) [ 1:5; 1:75]
(x = 2) (x = 2) (x = 1) (x = 1)
p
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; (c) x0 = 1:5; (e) x0 = 3;
(b) x0 = 1:875; (d) x0 = 1:95; (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

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

1 a
!
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 3x1 cos(x2 x3 ) 12 = 0
(
(a) 1 1 2 1 4 2

2 x1 x2 + 2x1 5x2 + 8 = 0 (c) 4x12 625x22 + 2x2 1 = 0

Resp.: x2 = (0:4958936; 1:983423)T



e x x +20x3 + 103 3 = 0
1 2

Resp.: x2 = (0:5001667; 0:2508036; 0:5173874)T


sen(4x1 x2 ) 2x2 x1 = 0 x12 + x2 37 = 0


(b)

4 1 (e2x e) + 4ex 2 2ex = 0 (d) x1 x22 5 = 0
 
1
4 2 1
x1 + x2 + x3 3 = 0

Resp.: x2 = ( 0:5131616; 0:01837622)T Resp.: x2 = (4:350877; 18:49123; 19:84211)T

12. Use o metodo de Newton para encontrar uma soluc~ao para os seguintes sistemas n~ao-lineares nos domnios
dados. Faca iterac~oes ate kxk xk 1 k < 10 6 .
(a) Use x0 = (1; 1)T (c) Use x0 = ( 1; 2; 1)T
3x12 x22 = 0 x13 + x12 x2 x1 x3 + 6 = 0
(

ex1 + ex2 x3 = 0

3x1 x22 x13 1 = 0
x22 2x1 x3 = 4

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


(d) Use x0 = (0; 0; 0)T
(b) Use x0 = (2; 2)T
6x1 2 cos(x2 x3 ) 1 = 0

ln(x + x ) sen(x1 x2 ) = ln 2 + ln 
2 2
(
9x2 + x + sen x3 + 1:06 + 0:9 = 0

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

1
60x3 + 3 e x x +10 3 = 0
1 2

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

L. A. P. Cant~ao 32
CAPITULO 4

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 )

x 0 x 1 x 2 xn 1 xn x
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 ); para i = 0 : n:
Prova 1. Seja:
p(x ) = f (x0 )l0n (x ) + f (x1 )l1n (x ) + f (x2 )l2n (x ) + : : : + f (xn )lnn (x )
n
=
X
f (xk )lkn (x )
(4.1)
k =0
onde lk s~ao os polin^omios de Lagrange de nidos por:
n

(x x0 )(x x1 ) : : : (x xk 1 )(x xk +1 ) : : : (x xn )
lkn = (x x )(
k 0 xk x1 ) : : : (xk xk 1 )(xk xk +1 ) : : : (xk xn )
n (4.2)
=
Y (x xi ) :
(x xi )
i =0; i 6=k k

Sabemos que:
lkn (xk ) = 1 e lkn (xi ) = 0 para 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 inter-
polac~ao na express~ao 4.2, calculamos os polin^omios de Lagrange:

(x
l02 (x ) = (x
x1 )(x x2 )
= (x 2:5)(x 4) = x 2 6:5x + 10
0 x1 )(x0 x2 ) (2 2:5)(2 4)
(x
l12 (x ) = (x
x0 )(x x2 )
= (x 2)(x 4) = 4x 2 + 24x + 32
1 x0 )(x1 x2 ) (2:5 2)(2:5 4) 3
(x
l22 (x ) = (x
x0 )(x x1 )
= (x 2)(x 2:5) = x 2 4:5x + 5
2 x0 )(x2 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 f (x2 ) = f (4) = 0:0625. Usando a
express~ao (4.1) teremos o polin^omio interpolador p2 (x ):
0:16 0:0625
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 = 3 teremos p2 (x ) = 0:0986, que e uma aproximac~ao de f (3) = 0:1111,
com erro absoluto de 0:0125.
A Figura 4.2 ilustra este exemplo.

L. A. P. Cant~ao 35
0.29 0.29

0.25 0.25

L. A. P. Cant~ao
0.21 0.21

0.17 0.17
Captulo 4. Ajuste de Curvas

0.13 0.13

0.09 0.09

0.05 0.05
2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0
1 2
f (x ) = 2
p(x ) = 0:0575x 0:4388x + 0:8975
x
1.0 1.4 1.3

0.8 1.2 1.1

0.6 0.9
1.0
0.4 0.7
0.8
0.2 0.5
0.6
0 0.3
0.4
0.2 0.1

0.4 0.2 0.1

0.6 0 0.3
2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0
2 2 2
2
x 4:5x + 5 2
4x 2 + 24x 32
0
l (x ) = x 6:5x + 10
= =
3 1
l l
3 3
Figura 4.2: Exemplo sobre Interpolac~ao de Lagrange.

36
CNC
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 ]

=  xyi +1 0 yi
0
Ordem 1: yi xi = [xi ; xi +1 ]
i +1

Ordem 2: 2 yi = yxi +1 yi


xi = [xi ; xi +1 ; xi +2 ]
i +2
:::
n yi =  xyi +1 x yi = [xi ; xi +1 ; xi +2 ; : : : ; xi +n ]
n 1 n 1
Ordem 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:

[x; x0 ] =  p(xx) x p(x0 ) = p(xx) xp(x0 )


0 0

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 ) (4.7)

L. A. P. Cant~ao 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 )] (4.8)
= r (xk ; c1 ; c2 ; : : : ; cn ):
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 m
r 2 (xi ) = (f (xi ) g (xi ))2 ;
X X

i =1 i =1

onde f (xi ), i = 1 : m, s~ao os dados que ser~ao aproximados.


Quando temos o caso de aproximar f (xk ), uma func~ao conhecida para todo x , por uma express~ao mais simples
g (x ), o metodo dos quadrados mnimos minimiza:
Z b Z b
r 2 (x ) dx = (f (x ) g (x ))2 dx:
a a

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


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

X


i

=1


s~ao conhecidos em xi ; i = 1 : m:

< f;g >= Z b (4.9)



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


(a; b):

s~ao conhecidas e integraveis em

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 ) c1 c2 x . Assim, pelo metodo dos
quadrados mnimos devemos procurar c1 e c2 que minimizem a func~ao:
m
< r; r > (c1 ; c2 ) =< f (x ) c1 c2 x; f (x ) c1 c2 x >= [f (xi ) c1 c2 xi ]2 :
X

i =1

L. A. P. Cant~ao 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,
@ @
@c1 < r; r >= @c2 < r; r >= 0;
ou ainda, procedidas as repectivas derivac~oes com respeito a c1 e c2 em < r; r > temos:
m m
2 (f (xi ) c1 c2 xi ) = 0 e 2xi (f (xi ) c1 c2 xi ) = 0
X X

i =1 i =1

Estas duas equac~oes formam um sistema linear nas incognitas c1 e c2 , que pode ser reescrito na forma:
m m
mc1 + c2 xi = f (xi )

X X


i =1 i =1


m m m
c1 xi + c2 xi2 = xi f (xi )

X X X



i =1 i =1 i =1

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 5
xi = 2:5; xi2 = 1:875
X X

i =1 i =1
5 5
f (xi ) = 8:768 xi f (xi ) = 5:4514
X X

i =1 i =1

Assim, os valores de c1 e c2 da melhor reta (no sentido dos quadrados minmos) s~ao obtidos pelo sistema:
5c1 + 2:5c2 = 8:768
2:5c1 + 1:875c2 = 5:4514
Resolvendo o sistema, obtemos c1 = 0:89968 e c2 = 1:70784, ou seja g (x ) = 0:89968 + 1:70784x . Os valores de
g (xi ) e os respectivos resduos est~ao na tabela abaixo.
xi 0 0.25 0.5 0.75 1.0
f (xi ) 1.000 1.2840 1.6487 2.1170 2.7183
g (xi ) 0.89968 1.32664 1.7536 2.18056 2.60752
r (xi ) 0.10032 0:04264 0:1049 0:06356 0.11078
Neste exemplo, a soma dos quadrados do resduo e:
5
r 2 (xi ) = 0:039198
X

i =1

L. A. P. Cant~ao 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 subinter-
valos [xj 1 ; xj ], j = 1; : : : ; n como:
x x x x
Sj (x ) = f (xj 1 ) x j x + f (xj ) x xj 1 ; 8 x 2 [xj 1 ; xj ] :
j j 1 j j 1
Assim:
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

= 2
12 1 x
+ x 1
22 1 = 2 x + 2x 2 = x x 2 [1; 2]
x x x x1
S2 (x ) = f (x1 ) x 2 x + f (x2 ) x x1
2 1 2

= 5
25 2 x
+ 35 x 2 = 32 (5 x ) + x 2 = 13 (x + 4) x 2 [2; 5]
2
x x x x2
S3 (x ) = f (x2 ) x 3 x 2 + f (x3 ) x x2
3 3

= 7
37 5 x
+ 2:5 7 x 5 = 1 ( 0:5x + 8:5) ; x 2 [5; 7]
5 2
ou ainda,
x se x 2 [1; 2]


1 (x + 4)


se x 2 [2; 5]

S (x ) =

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:

(a) S 00 (x0 ) = S 00 (xn ) = 0 (condic~ao de contorno livre ou natural);


(b) S 0 (x0 ) = f 0 (x0 ) e S 0 (xn ) = f 0 (xn ) (contorno restrito).

Para se construir o spline 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 )
2 = cj
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
dj = 3hj (4.12)
Substituindo a equac~ao (4.12) nas equac~oes (4.10) e (4.11), respectivamente, temos:

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

cj +1 cj 2
 (4.13)
= aj + bj hj + cj hj +
2
3 hj

L. A. P. Cant~ao 43
Captulo 4. Ajuste de Curvas CNC

cj +1 cj 2
 
bj +1 = bj + 2cj hj + 3 3hj hj
= bj + 2cj hj + (cj +1 cj ) hj (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
2
j
hj2
bj hj = (aj +1 aj ) 3 (2cj + cj +1 ) (4.15)
1 h
bj = h (aj +1 aj ) 3j (2cj + cj +1 )
j

Reduzindo os ndices para bj 1 :

bj 1 = 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 1 hj 1
hj (aj +1 aj ) 3 (2cj + cj +1 ) = hj 1 (aj aj 1 ) 3 (2cj 1 + cj ) + (cj + cj 1 )hj 1 (4.16)
3 3
hj 1 cj 1 + 2cj (hj 1 + hj ) + hj cj +1 = h (aj +1 aj ) h (aj aj 1 )
j j 1

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 c0 = 0 e cn = 0, juntamente com as equac~oes (4.16), produzem um sistema linear descrito

L. A. P. Cant~ao 44
Captulo 4. Ajuste de Curvas CNC

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


1 0 0   0

.. .. ..
h0 2(h0 + h1 ) h1


. . .


.. ..

0 h1 2(h1 + h2 ) h2 . .

A=

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

. . . . . .


.. .. ..

. . hn 2 2(hn 2 + hn 1 ) hn 1

.


0   0 0 1

e b e x s~ao os vetores:

h1 (a2 a1 ) h0 (a1 a0 )
3 3
c0



.. c1

b= . x= .
:

e

.

.


3 (an an ) 3
(an an 2 )

h 1
n
1 h
n 2 1



cn
0
A matriz A e diagonalmente dominante, e portanto, tem soluc~ao unica para 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 x0 ; x1 ; : : : ; xn ; isto e, um spline interpolador que satisfaz as condic~oes de contorno
S 0 (a) = f 0 (a) e S 0 (b) = f 0 (b).
Prova 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
0 3
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
f 0 (b) =
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

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

2h0 h0 0   0


.. .. ..
h0 2(h0 + h1 ) h1


. . .


.. ..

0 h1 2(h1 + h2 ) h2 . .

A=

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

. . . . . .


.. .. ..

. . hn 2 2(hn 2 + hn 1 ) hn 1

.


0   0 2hn 1

hn 1
e b e x s~ao os vetores:

h0 (a1
3
a0 ) 3f 0 (a)


h1 (a2 a1 ) h0 (a1 a0 ) c0
3 3



c1

..

b= x= .
:

e

.

.

.



h (an an
3
1 n
1 ) h
n
3
2
(an 1 an 2 )



cn
3f 0 (b) (an an 1 )

3
h n 1

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:
xi 0.10.2 0.3 0.4
yi 0:62049958
0:28398668 0:00660095 0:2484244
Como os intervalos est~ao igualmente espacados, hj = 0:1, para j = 0; 1; 2; 3. Assim, usando o Teorema 4,
temos o seguinte sistema tridiagonal linear:

1 0 0 0 c0 0

0:1 0:4 0:1 0 c1 1:377581



=

0 0:1 0:4 0:1 c2 1:4629254



0 0 0 1 c3 0
Resolvendo o sistema acima, temos cT = [0; 2:698738; 2:982629; 0]T .
Como aj = f (xj ), para j = 0; 1; 2; 3, podemos determinar bj e dj , para j = 0; 1; 2 usando as equac~oes (4.15) e
(4.12), respectivamente, como mostra a Tabela 16.
A partir da Tabela 16, podemos montar a func~ao spline:

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




S (x ) = 0:28398668 + 3:1852131(x 0:2) 2:698738(x 0:2)2 0:9463033(x 0:2)3 x 2 [0:2; 0:3)


0:00660095 + 2:6170764(x 0:3) 2:982629(x 0:3)2 + 9:9420967(x 0:3)3 x 2 [0:3; 0:4]

L. A. P. Cant~ao 46
Captulo 4. Ajuste de Curvas CNC

aj bj cj dj
0:62049958 3:4550869 0 8:9957933
0:28398668 3:1852131 2:698738 0:9463033
0:00660095 2:6170764 2:982629 9:9420967
0:24842440 | 0 |
Tabela 4.4: 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 = 0:1, para j = 0; 1; 2; 3. Assim, usando o Teorema 5,
temos o seguinte sistema tridiagonal linear:

0:2 0:1 0 0 c0 0:6596755


0:1 0:4 0:1 0 c1 1:377581



=

0 0:1 0:4 0:1 c2 1:4629254



0 0 0 :1 0:2 c3 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
0:28398668 3:1403294 2:297073 0:4745836
0:00660095 2:6666773 2:4394481 0:4498015
0:24842440 | 2:5743885 |
Tabela 4.5: Coe cientes para os splines restrito.
A partir da Tabela 17, podemos montar a func~ao spline:

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




S (x ) = 0:28398668 + 3:1403294(x 0:2) 2:297073(x 0:2)2 0:4745836(x 0:2)3 x 2 [0:2; 0:3)


0:00660095 + 2:6666773(x 0:3) 2:4394481(x 0:3)2 0:4498015(x 0:3)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) f (x ) = e2x cos 3x , x0 = 0, x1 = 0:3 e x2 = 0:6, n = 2;
(b) f (x ) = sen(ln x ), x0 = 2:0, x1 = 2:4 x2 = 2:6, n = 2;
(c) f (x ) = ln x , x0 = 1, x1 = 1:1, x2 = 1:3 e x3 = 1:4, n = 3;
(d) f (x ) = cos x + sen x , x0 = 0, x1 = 0:25, x2 = 0:5 e x3 = 1:0, n = 3.
2. Utilize o polin^omio interpolador de Lagrange e de Newton de grau 1, 2 e 3 para aproximar cada um dos
seguintes items:
(a) f (8:4) se f (8:1) = 16:94410, f (8:3) = 17:56492, f (8:6) = 18:50515 e f (8:7) = 1882091;
(b) f ( 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 aproxi-
mac~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
Resposta: y1 = 0:620895 + 1:219621x , y2 = 0:5965807 + 1:253293x 0:01085343x 2 e y3 = 0:6290193 +
1:18501x + 0:03533252x 2 0:01004723x 3 .
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 c2 x ;

(c) Calcule o resduo da sua aproximac~ao.

L. A. P. Cant~ao 48
Captulo 4. Ajuste de Curvas CNC

x 8 6 4 2 0 2 4
y 30 10 9 6 5 4 4
Resposta: y = 3:001 e 2:5x .
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).
Resposta: (a) y =
1
0:195 + 0:0185x , (b) y = 5:5199(0:8597) .
x

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 cons-
trudos 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 CNC

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


(c) f 0 ( 0:5) = 0:751 e f 0 (0) = 4:002;
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:
S0 (x ) = 1 + 2x x 3 se 0  x < 1
(
S (x ) =
S1 (x ) = 2 + b(x 1) + c (x 1)2 + d (x 1)3 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:
S0 (x ) = 3(x 1) + 2(x 1)2 (x 1)3 se 1  x < 2
(
S (x ) =
S1 (x ) = a + b(x 2) + c (x 2)2 + d (x 2)3 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
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
R1

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 5

Integrac~ao Numerica

Introduc~ao
Por que Integrac~ao Numerica ? 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:
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
e 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 multi-
plicados por pesos convenientemente escolhidos. Assim, vamos procurar desenvolver formulas de integrac~ao do
tipo: Z b n

f (x ) dx = wi f (xi );
X
(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
n
pn (x ) = f (xi )li (x ):
X

i =0

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


Z b n Z b
f (x ) l (x ) dx = f (xi ) li (x ) dx:
X
a i =0 a

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

wi =
Z b
li (x ) dx =
Z b
(x x0 ) : : : (x xi 1 )(x xi +1 ) : : : (x xn ) (5.2)
a a (xi x0 ) : : : (xi xi 1 )(xi xi +1 ) : : : (xi xn ) dx:
Atraves da equac~ao (5.2) podemos obter formulas do tipo Newton-Cotes para polin^omios de qualquer grau.

5.1.1 ormula dos Trapezios: n = 1


F
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:
Z x1
(x x1 ) 1 Z x (x x ) = 1
(x x1 )2 x =x = h
1

w0 = (x0 x1 ) dx = h x 1
2h x =x 2
x0 0 0

Z x1
(x x0 ) 1 Z x (x x ) =
1
(x x0 )2 x =x = h
1

w1 = (x1 x0 ) dx = h x 0
2h x =x 2
x0 0 0

Com isso, podemos estabelecer a formula dos trapezios para a integrac~ao no intervalo (x0 ; x1 ):
h
Z x1
f (x ) dx = 2 [f (x0 ) + f (x1 )] : (5.3)
x0

ormula de Simpson: n = 2
5.1.2 F
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 =
Z x2
(x x1 )(x x2 ) h
x0 (x0 x1 )(x0 x2 ) dx = 3

w1 =
Z x2
(x x0 )(x x2 ) dx = 4h
x0 (x1 x0 )(x1 x2 ) 3

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

L. A. P. Cant~ao 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
(x x1 )(x x2 ) dx = Z h
t (t h)
dt = h
x0 (x0 x1 )(x0 x2 ) h 2h
2 3
Dessa maneira, usando polin^omios interpoladores de grau 2, estabelecemos a formula de Simpson:
h
Z x2  
f (x ) dx = 3 [f (x0 ) + 4f (x1 ) + f (x2 )] : (5.4)
x0

y y = f (x ) y
y = p (x )

x x
x 0 x 1 x 0 x 1 x 2

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

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


5.1.3 F
 n=3 Z x3
3h [f (x ) + 3f (x ) + 3f (x ) + f (x )]
 
f (x ) l (x ) dx = 8 0 1 2 3 (5.5)
x0

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

Exemplo 18. Sabemos que


ln 2 =
Z 2
1 
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 Z x1 Z x2 Z x3 Z x
f (x ) dx = f (x ) dx + f (x ) dx + f (x ) dx : : : + f (x ) dx
n

a x0 x1 x2 xn 1
(5.7)
= h
 

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


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 Z x2 Z x4 Z x
f (x ) dx = f (x ) dx + f (x ) dx + : : : + f (x ) dx
n

a x0 x2 xn 2

h
 
= 3 [f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + : : : + 2f (xn 2 ) + 4f (xn 1 ) + f (xn )] (5.8)
= h3 ff (x0 ) + 4 [f (x1 ) + f (x3 ) + : : : f (xn 1 )] +
2 [f (x2 ) + f (x4 ) + : : : + f (xn 2 )] + f (xn )g
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:
1 g (k ) (x )
g (x ) = 0
k ! (x x0 )
k
X

k =0 (5.9)
g 00 (x ) g n (x )
= g (x0 ) + g 0 (x0 )(x x0 ) + 2! 0 (x x0 )2 + : : : + n! 0 (x x0 )n + : : :

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 (0) + g 0 (0) h2 + g 00 (0) h8 + g 000 (0) 48
h3
  2
g 2 + :::

L. A. P. Cant~ao 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 + 2g 000 (0) h


 2 3 
= 2 8 48 + : : :
h
+ g 000 (0) h
2 3
g (0) + g 0 (0)h + g 00 (0)


2 6 =
= g (0) g 00 (0) h4 3g 000 (0) 24h3
2
+ :::
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 h3
g1 (h) = g (0) g 00 (0) 4 3g 000 (0) 24 + :::
h h2 h3
3g 000 (0) 192
 
g1 2 = g (0) g 00 (0) 16 + :::

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

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

Dessa maneira:
1 h 1 h
       
g2 (h) = 3 4g1 2 g1 (h) = 22 1 22 g1 2 g1 (h)
(5.10)
h 3
= 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:
2n gn 1 (h=2) gn 1 (h) = 1 2n g h
   
gn (h) = 2n 1 2n 1 n 1
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 0
x 1 x 2

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 e I1 h2 = h2 [f (x0 ) + 2f (x1 ) + f (x2 )] :
 
I1 (h) = 2 [f (x0 ) + f (x2 )]

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


1 h
   
I2 (h) = 3 4I1 2 I1 (h)
1 4h
 
= 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 1
e x2 dx
0

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)
Z 1
x 4 dx ; (e)
Z 1:6
2x
0:5 1 x 2 4 dx ;
(Resposta: (Tr) 0:265625, (Sp) 0:1940104) (Resposta: (Tr) 0:8666667, (Sp)
Z 0:5
2 dx ; 0:7391053)
(b) x 4
0
(f)
Z 0:35
2 dx ;
(Resposta: (Tr) 0:2678571, (Sp) 0 x 2 4
0:2670635) (Resposta: (Tr) 0:1777643, (Sp)
Z 1:5
0:1768216)
(c) x 2 ln x dx ; Z =4
1
(Resposta: (Tr) 0:17776434, (Sp) (g) 0
x sen x dx ;
0:1922453) (Resposta: (Tr) 0:2180895, (Sp) 0:1513826)
Z 1 Z =4
(d) x e
dx ;
2 x (h) e3x sen 2x dx ;
0 0
(Resposta: (Tr) 0:1839397, (Sp) 0:16240168) (Resposta: (Tr) 4:1432597, (Sp) 2:5836964)

2. Utilize a regra Trapezoidal Composta (Tc) e Simpson Composta (Sc) com os valores indicados de n para
aproximar as seguintes integrais:
Z 2 Z 2
(a) x ln x dx , n = 4; (b) x 3 ex dx , n = 4;
1 2

(Resposta: (Tc) 0:639900) (Resposta: (Tc) 31:3653)

L. A. P. Cant~ao 56
Captulo 5. Integrac~ao Numerica CNC

(c)
Z 2
2 Z
1
2

x 2 + 4 dx , n = 6; (f) x 2 + 4 dx , n = 8;
0 0
(Resposta: (Tc) 0:784241) (Resposta: (Tc) 0:476977)
Z 
p 2x dx , n = 8;
Z 5
(d) x 2 cos x dx , n = 6; (g)
0 3 x 4
(Resposta: (Tc) 6:42872) (Resposta: (Tc) 0:605498)
Z 2 Z 3=8
(e) e2x sen 3x dx , n = 8; (h) tan x dx , n = 8;
0 0
(Resposta: (Tc) 13:5760) (Resposta: (Tc) 0:970926)

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:
Z 1:5 Z =4
(a) x 2 ln x dx ; (Resposta: 0:1922593) (e) e 3x sen 2x dx ; (Resposta: 2:5879685)
1 0
1 Z 1:6
2x dx ; (Resposta: 0:7341567)
Z
(b) x2 e x dx ; (Resposta: 0:1606105) (f)
0 1 x 2 4
(c)
Z 0:35
2 dx ; (Resposta: 0:1768200) Z 3:5
p 2x dx ; (Resposta: 0:6362135)
x 4 (g)
0
2
3 x 4
Z =4 Z =4
(d) x sen x dx ; (Resposta: 0:08875677)
2
(h) (cos x )2 dx ; (Resposta: 0:6426970)
0 0
Z 2
5. Utilize os seguintes dados para aproximar f (x ) dx usando a integrac~ao de Romberg.
1

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.
p
(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.
Z 10 p
8. Calcule x 4 dx usando:
0

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


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

L. A. P. Cant~ao 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.
Z 1
p 41 jx j
10
p
(a) dx (Resposta: 0:49)
Z
x +x (c) x 3 + 1 dx
2 1
(b)
Z 1
e x2 dx (Resposta: 0:14) (d)
Z 1 p
e x sen x dx
1 1

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


cos
Z 1
10. Obtenha uma aproximac~ao de
0
com n = 4. (Resposta: 1:79)

L. A. P. Cant~ao 58
CAPITULO 6

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 dydx ;
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. Problema de valor inicial (PVI): procuramos y (x ) que, alem de satisfazer a equac~ao diferencial para
x > a, atende as condic~oes preestabelecidas no incio do intervalo onde vamos resolv^e-la:
y (a) = y0 e, as vezes, y 0 (a) = v0 ;
onde y0 e v0 s~ao valores conhecidos.
2. Problema de valor de contorno (PVC): a equac~ao diferencial devera ser satisfeita no intervalo (a; b) e
s~ao preestabelecidos valores para y (x ) nos extremos deste intervalo:
y (a) = y0 e y (b) = yn ;
com y0 e yn conhecidos.
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 quan-
tidade 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
y 0 (x ) =
h 2 y (): (6.3)
De modo semelhante, tomando h em (6.2), ainda com n = 1, temos:
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
y 0 (x ) =
h + 2 y (): (6.4)
Tomemos agora n = 2 em (6.2), reescrevemos as formulas avancada e atrasada, temos:
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
y 0 (x ) =2h 3! y () (6.5)
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:
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 (x + h) 2y (x ) + y (x h) h2 (iv )
y 00 (x ) = h2 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:
yi +1 yi yi yi 1 yi +1 yi
y 0 (xi ) 
= h ; y 0 (xi ) 
= h ; ou y 0 (xi ) 
= 2h
1

L. A. P. Cant~ao 61
Captulo 6. Aproximac~oes para Equac~oes Diferenciais Ordinarias CNC

e
yi +1 2yi + yi 1
y 00 (x ) = 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 + 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
e y 00 (xi )  y 2y + y
= 2h
1
= i +1 h2i i 1 ;
obtendo a discretizac~ao da EDO:
yi +1 2y1 + yi 1
h2 + p(xi ) yi +1 2h yi 1
+ q (xi )yi = r (xi ); i = 1 : n 1
ou ainda, denotando pi = p(xi ), qi = q (xi ) e r (xi ),

1 h2 pi yi 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); x 2 (0; 1)
com condic~oes de contorno:
y (0) = 0; y (1) = e
usando 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: h = (b a)=n
2: Para j = 1 ate j = n 1 faca
3: x = a + jh
h
4: di (j ) = 1 2 p(x )
5: d (j ) = 2 + h2 q (x )
h
6: ds (j ) = 1 + 2 p(x )
7: ti (j ) = h2 r (x )
8: Fim do laco
9: ti (1) = ti (1) y0 (1 (h=2)p(a + h))
10: ti (n 1) = ti (n 1) yn (1 + (h=2)p(b h))
11: Resolver o sistema.
Algoritmo 12: Metodo de Diferencas Finitas de Sturm-Liouville

6.2 Metodos de Runge-Kutta


Tomemos a EDO de primeira ordem, com dado inicial:
y 0 (x ) = f (x; y )
(6.7)
y (x0 ) = y0 :
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
h = f (xk ; yk ): (6.8)
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: h = (b a)=n
2: Para k = 0 ate k = n 1 faca
3: xk = a + kh
4: yk +1 = yk + hf (xk ; yk )
5: Fim do laco

Algoritmo 13: Metodo de Euler


A ideia de Euler (6.9) tem vers~oes de maior precis~ao nos trabalhos de Runge (1895), para o caso de uma

L. A. P. Cant~ao 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: h = (b a)=n
2: Para k = 0 ate k = n 1 faca
3: xk = a + kh
4: m0 = hf (xk ; yk )
5: m1 = hf (xk + h; yk + m0 )
6:
1
yk +1 = yk + 2 (m0 + m1 )
7: Fim do laco

Algoritmo 14: Metodo de Runge-Kutta de segunda ordem

Dado a, b, n, y0 e f (x; y )
1: h = (b a)=n
2: Para k = 0 ate k = n 1 faca
3: xk = a + kh
4: m0 = hf (xk ; yk )
h m

5: m1 = hf xk + 2 ; yk + 20
6: m2 = hf (xk +1 ; yk m0 + 2m1 )
7:
1
yk +1 = yk + 6 (m0 + 4m1 + m2 )
8: Fim do laco

Algoritmo 15: Metodo de Runge-Kutta de terceira ordem

Dado a, b, n, y0 e f (x; y )
1: h = (b a)=n
2: Para k = 0 ate k = n 1 faca
3: xk = a + kh
4: m0 = hf (xk ; yk )
h m

5: m1 = hf xk + 2 ; yk + 20
h m1
 
6: m2 = hf xk + 2 ; yk + 2
7: m3 = hf (xk +1 ; yk + m2 )
8:
1
yk +1 = yk + 6 (m0 + 2m1 + 2m2 + m3 )
9: Fim do laco

Algoritmo 16: Metodo de Runge-Kutta de quarta ordem

Exemplo 22. Seja a EDO:


1
y 0 (x ) = 1 + x 2 2y 2
y (0) = 0
Resolva-a usando os metodos de Euler, Runge-Kutta de segunda, terceira e quarta ordens para x 2 (0; 1) e h = 0:1.
L. A. P. Cant~ao 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) 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 ).
(b) 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 ).
(c) y 0 = sen(x )y , x 2 [0; ], y (0) = 1, m = 6; soluc~ao real: y (x ) = ecos(x ) 1 .
(d)
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)
p
y 0 = x , y (0) = 0, x 2 [0; 2] e n = 5: (soluc~ao usando o metodo de Euler: y5 = 1:55490);
(b) y 0 = x 2 + y 2 , y (1) = 0, x 2 [1; 2] e n = 8 (soluc~ao usando o metodo de Euler: y8 = 3:39195);
(c) 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
3

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)
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 . (c) Qual o valor de y (=4) nos
itens anteriores.

12. Use o Metodo das Diferencas Finitas para aproximar as soluc~oes de y = e 10x para o PVC:
y 00 = 100y; 0  x  1; y (0) = 1; y (1) = e 10
:
Use h = 0:1 e h = 0:25.

66
Refer^encias Bibliogra cas

[1] R. L. Burden, J. D. Faires. An


alise Num
erica . Pioneira Thomson Learning, 2003.

[2] F. F. Campos Fo. Algoritmos Num


ericos . LTC Editora, 2001.

[3] M. C. C. Cunha. M
etodos Num
ericos . 2a Edic~
ao, Editora da Unicamp, 2000.

[4] N. 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: Aspectos Te
oricos e Computacionais . 2a Edic~
ao, Makron Books,
1996.

[6] D. Sperandio, J. T. Mendes, L. H. M. e Silva. C


alculo Num
erico: Caracter
sticas Matem
aticas e Computacionais dos

M
etodos Num ericos. Prentice Hall, 2003.

[7] J. Stewart. C
alculo . Volume I. 5a Edic~
ao, Pioneira Thomson Learning, 2006.

[8] E. W. Sowokowski. C
alculo com Geometria Anal
tica . Volume 1. 2a Edic~
ao, Makron Books, 1994.

[9] www.nrbook.com/b/bookcpdf.php

[10] www.mathworks.com/moler/chapters.html

67

Você também pode gostar