A maior rede de estudos do Brasil

Grátis
217 pág.
NotasdeAula_CN

Pré-visualização | Página 22 de 38

e a expressão do erro de truncamento �ca
ET (x) = (x− x0)(x− x1) . . . (x− xn)f
n+1(λ)
(n+ 1)!
, (5.50)
onde λ ∈ (x0, xn).
Observe que o grau da função ET (x) é da ordem de (n+1) para um polinômio
interpolador de grau n.
Exercício 5.4 Seja a função f(x) = ln(x) e os valores f(3) = 1, 0986, f(4) =
1, 3863. Determine o erro de truncamento para x = 3, 7.
Exercício 5.5 Implemente computacionalmente o erro de truncamento para o
método de interpolação de Lagrange.
5.6 Interpolação de Newton
No cálculo diferencial, se f é uma função contínua em um intervalo [a, b], a
derivada primeira da função f no ponto x0 ∈ [a, b] é obtida tomando-se o limite
da razão incremental, ou seja:
f ′(x0) = lim
x→x0
f(x)− f(x0)
x− x0 . (5.51)
De�nição 5.2 De�ne-se a diferença dividida de primeira ordem de uma função
f como:
f[x, x0] =
f(x)− f(x0)
x− x0 .
Denota-se a diferença dividida por meio de um dos símbolos: f [ ], [ ], ou ∆y.
Fazendo x = x1, temos a diferença dividida de primeira ordem em relação aos
argumentos x1 e x0.
∆y0 = f [x1, x0] =
f(x1)− f(x0)
x1 − x0 .
Como:
124 cálculo numérico
f(x1)− f(x0)
x1 − x0 =
f(x0)− f(x1)
x0 − x1 ,
concluímos que:
f [x1, x0] = f [x0, x1],
isto é, a diferença dividida de primeira ordem é simétrica. Em geral, temos:
∆yi = f [xi, xi+1] =
f(xi+1)− f(xi)
xi+1 − xi .
Sabemos que yi = f(xi), então reescrevemos
∆yi =
yi+1 − yi
xi+1 − xi .
De�nição 5.3 De�nimos a diferença dividida de ordem zero de uma função f
como:
∆0yi = f[xi] = f(xi) = yi.
Utilizando a de�nição anterior, temos
∆yi = f [xi, xi+1] =
f(xi+1)− f(xi)
xi+1 − xi =
∆0yi+1 −∆0yi
xi+1 − xi .
De�nição 5.4 A diferença dividida de ordem dois de uma função f é dada por:
∆2y0 = f[x0, x1, x2] =
f[x1, x2]− f[x0, x1]
x2 − x0 .
De�nição 5.5 De�ne-se a diferença dividida de ordem três de uma função f
como:
∆3y0 = f[x0, x1, x2, x3] =
f[x1, x2, x3]− f[x0, x1, x2]
x3 − x0 .
Assim, podemos de�nir a diferença dividida de ordem n qualquer.
De�nição 5.6 De�ne-se a diferença dividida de ordem n de uma função f como:
∆ny0 = f[x0, x1, . . . , xn] =
f[x1, x2, . . . , xn]− f[x0, x1, . . . , xn−1]
xn − x0 .
interpolação 125
Exercício 5.6 Dada a tabela a seguir, determine as possíveis diferenças dividi-
das.
i xi yi
0 0, 3 3, 09
1 1, 5 17, 25
2 2, 1 25, 41
Exercício 5.7 Implemente computacionalmente um operador capaz de determi-
nar as diferenças divididas de ordem k para uma tabela contendo n + 1 pontos, e
em seguida resolva o exercício anterior usando seu operador.
Teorema 5.3 Se f(x) é uma função polinomial de grau n que passa pelos pontos
(x0, y0), (x1, y1), . . . , (xk, yk), . . . , (xn, yn), então, a diferença dividida de ordem k,
f[x, xi, xi+1, . . . , xi+k−1] é um polinômio de grau (n− k).
Demonstração: Veja demonstração em [Barroso et al., 87]. Intuitivamente, a
diferença dividida pode ser escrita como f [x, xi] =
f(x)−f(xi)
x−xi ⇒ f(x) = f(xi) −
(x− xi)f [x, xi]. Ora, se f(x) é um polinômio de grau n, então o lado direito da
relação deve ser tal que f [x, xi] é um polinômio de grau (n − 1), já que o termo
(x− xi) possui grau um.
Corolário 5.1 Se f(x) é uma função polinomial de grau n, então todas as dife-
renças divididas de ordem n são iguais a uma constante, e as de ordem (n + 1)
são nulas.
5.6.1 Fórmula de Newton para interpolação com
diferenças divididas
Sejam (n + 1) pontos (xi, yi), i = 0, . . . , n, e P (x) o polinômio interpolador
para estes pontos. Pela de�nição da diferença dividida temos:
P [x, x0] =
Pn[x]− Pn[x0]
x− x0 .
Logo,
Pn(x) = Pn(x0) + (x− x0)P [x, x0], (5.52)
mas
126 cálculo numérico
P [x, x0, x1] =
P [x, x0]− P [x0, x1]
x− x1 ⇒
P [x, x0] = P [x0, x1] + (x− x1)P [x, x0, x1].
Agora, substituindo, temos:
Pn(x) = Pn(x0) + (x− x0)P [x0, x1] + (x− x0)(x− x1)P [x, x0, x1].
Por outro lado, sabemos que:
P [x, x0, x1] = (x− x2)P [x, x0, x1, x2] + P [x0, x1, x2].
Voltando com este resultado na expressão anterior, obtemos:
Pn(x) = Pn(x0) + (x− x0)P [x0, x1] + (x− x0)(x− x1)P [x, x1, x2]+
+(x− x0)(x− x1)(x− x2)P [x, x0, x1, x2].
Continuando o processo, obtemos então:
Pn(x) = Pn(x0) + (x− x0)P [x0, x1] + (5.53)
(x− x0)(x− x1)P [x0, x1, x2] +
(x− x0)(x− x1)(x− x2)P [x0, x1, x2, x3] + . . .+
(x− x0)(x− x1) . . . (x− xn−1)P [x0, x1, . . . , xn] +
(x− x0)(x− x1) . . . (x− xn)P [x, x0, x1, . . . , xn].
Pelo corolário, P [x, x0, x1, . . . , xn] = 0. Considerando, então, que Pn(x0) = y0,
temos:
Pn(x) = y0 + (x− x0)P [x0, x1] + (5.54)
(x− x0)(x− x1)P [x0, x1, x2] +
(x− x0)(x− x1)(x− x2)P [x0, x1, x2, x3] + . . .+
(x− x0)(x− x1) . . . (x− xn−1)P [x0, x1, . . . , xn].
interpolação 127
Como sabemos que ∆iy0 = P [x0, x1, . . . , xi], assim:
Pn(x) = y0 + (x− x0)∆y0 + (5.55)
(x− x0)(x− x1)∆2y0 + . . .+
(x− x0)(x− x1) . . . (x− xn−1)∆ny0.
Expressando o polinômio Pn(x) em uma forma mais compacta, temos:
Pn(x) = y0 +
n∑
i=1
∆iyo
i−1∏
j=0
(x− xj). (5.56)
A expressão (5.56) é chamada de polinômio interpolador de Newton, usando
diferenças divididas.
Exercício 5.8 Determine o valor aproximado de f(0, 4), usando o polinômio in-
terpolador de Newton para os pontos tabelados:
i 0 1 2 3 4
xi 0, 0 0, 2 0, 3 0, 5 0, 6
yi 1, 008 1, 064 1, 125 1, 343 1, 514
Implemente computacionalmente o método de interpolação de Newton e em
seguida resolva este exercício com seu operador.
5.6.2 Comparação dos métodos de Newton e Lagrange
Uma das formas de observar se um método computacional apresenta vantagens
sobre outro é veri�car o número total de operações, que ambos devem realizar
para alcançarem o mesmo resultado.
Para (n+1) pontos, os métodos de interpolação de Newton e Lagrange apre-
sentam:
N
o
	
de operações Adições Multiplicações Divisões
Newton n2 + n− 2 2n− 3 (n2 − n)/2
Lagrange n2 + n− 1 n2 − 1 2n
O número total de operações é obtido tomando-se a soma das operações de
adição (que inclui subtração, quando houver), multiplicação e divisão. Para os
métodos de interpolação de Newton e Lagrange, o número total em cada caso é:
128 cálculo numérico
Métodos Newton Lagrange
N
o
	
total de operações (3n2 + 5n− 10)/2 2n2 + 3n− 2
Podemos então comparar os métodos em termos do menor número de opera-
ções, veri�cando para que valor de n teremos um método mais rápido. Nesse
caso:
3n2 + 5n− 10
2
≤ 2n2 + 3n− 2 ⇒ n ≥ 2
Logo, o método de interpolação de Newton é mais rápido, pois possui um
número menor de operações que o método de Lagrange, a partir de dois pontos
tabelados. Na Figura 5.5, apresentamos os grá�cos para os dois métodos, assu-
mindo valores contínuos de n ≥ 2. Esses grá�cos foram produzidos com o desenho
das linhas #3: e #4:, respectivamente. Na verdade, para produzirmos os grá�cos
com pontos discretos, para n ≥ 2 inteiro, poderíamos desenhar diretamente a
linha #5: e fazer em seguida o mesmo para a função Newton(n). Para obser-
varmos os números de operações de cada método simultaneamente, poderíamos
utilizar o comando da linha #7:.
Figura 5.5: Grá�co do número total operações.
interpolação 129
Observe que para um mesmo conjunto de pontos xi, mudando-se os valores
de yi, o método de Lagrange é mais vantajoso. Por quê?
5.7 Interpolação com diferenças �nitas
Em muitas ocasiões, os valores xi dados na tabela estão igualmente espaçados.
Em outras palavras, temos
xi+1 − xi = h, h = constante, i = 0, 1, · · · , n− 1.
Para o método de Newton, vimos que
Pn(x) = y0 +
n∑
i=0
∆iy0
i−1∏
j=0
(x− xj).
Assim, se tomarmos h = xi+1 − xi, e de�nirmos uma nova variável z da forma:
z =
x− x0
h
⇒ x− x0 = hz,
teremos então:
x− x1 = (x− (x0 + h)) = x− x0 − h = hz − h = h(z − 1),
x− x2 = (x− (x0 + 2h)) = x− x0 − 2h = hz − 2h = h(z − 2),
.
.
.
x− xn−1 = (x− (x+ (n− 1)h)) = x− x0 − (n− 1)h =
hz − (n−