Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CÁLCULO NUMÉRICO
Muitas funções são conhecidas apenas em um conjunto finito e discreto de pontos de um intervalo [a, b],
como a função y = f(x), dada pela tabela
i xi yi
0 x0 y0
1 x1 y1
2 x2 y2
3 x3 y3
Neste caso, tende-se que trabalhar com esta função e não se dispondo de sua forma analítica, pode-se
substituí-la por outra função, que é uma aproximação da função dada e que é deduzida a partir de dados
tabelados.
Além destas, podem-se também encontrar funções cuja forma analítica é muito complicada, fazendo com
que se procure uma outra função que seja uma aproximação da função dada e cujo manuseio seja bem
mais simples.
Exemplo.
A seguinte tabela apresenta o número de habitantes de uma cidade nos quatro últimos censos.
Determinar:
a) o número aproximado de habitantes em 1995;
b) o ano no qual o número de habitantes era 500 000.
x0 x1 ... xn
y0 y1 ... yn
É necessário encontrar uma expressão analítica F(x) da função tabelada dada, onde
y0 = F(x0) = f(x0), y1 = F(x1) = f(x1), ..., yn = F(xn) = f(xn).
1
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
2. INTERPOLAÇÃO LINEAR
Sejam dois pontos de uma função linear y = f(x): (x0, y0) e (x1, y1). Calcularmos valor de função y em
ponto x que está entre x0 e x1.
O gráfico da função linear é uma recta, cuja equação é P1(x) = a0 + a1 x. Para determinar os coeficientes
a0 e a1 resolvemos o sistema de equações lineares nos pontos conhecidos x0 e x1 :
a0 + a1x0 = y0
a0 + a1x1 = y1
Sendo os coeficientes a0 e a1 do polinómio P1, podemos calcular valor da função y para qualquer x
que pertence ao intervalo [x0 , x1].
Exemplo 2.1 Seja a função y = f(x) definida pelos pontos (0; 1.35) e (1.00; 2.94). Determine
aproximadamente valor de f(0.73).
Resolução. P1(x) = a1x + a0 é o polinómio interpolador do 10 grau que passa pelos pontos dados.
P1(0) = a1 * 0 + a0 = 1.35 a0 = 1.35
P1(1) = a1 * 1 + a0 = 2.94 a1 = 1.59
Logo, P1(x) = 1.59 x + 1.35
P1(0.73) = 1.59 * 0.73 + 1.35 = 2.51
2. INTERPOLAÇÃO QUADRÁTICA
2 sen 2 x
Exemplo 2.1 Seja a função f ( x) = . Ache polinómio interpolador para função dada.
x +1
Considere o intervalo [0; π /4]. Trabalhe com 3 casas decimais.
Resolução.
x f(x)
0 0
π /6 0.328
π /4 0.560
P2(x) = a2x2 + a1x + a0
P2(0) = a202 + a10 + a0 = 0
P2(π /6) = a2(π /6)2 + a1(π /6) + a0 = 0.328
P2(π /4) = a2(π /4)2 + a1(π /4) + a0 = 0.560
a0 = 0.
a1 = 0.452
a2 = 0.333
Assim, o polinómio interpolador é
P2(x) = 0.333 x2 + 0.452 x
3. INTERPOLAÇÃO DE LAGRANGE
2
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
Teorema 3.1 Sejam (xi, yi) ( i= 0, 1, ..., n) n+1 pontos distintos, isto é, xi ≠ xj para i ≠ j.
Existe um único polinómio P(x) de grau não maior que n, tal que P(xi) = yi, para todo i.
Resolvendo o sistema S, determina-se o polinómio Pn(x). Para provar que tal polinómio é único, basta
que se mostre que o determinante da matriz A, dos coeficientes das incógnitas do sistema S, é diferente
de zero. A matriz A é:
1 x0 x 02 ... xn0
1 x1 x12 ... x1n
A=
... ... ... ... ...
1 xn xn2 ... xnn
Da Álgebra Linear, o determinante da matriz A é conhecido como determinante das potências e seu valor
é dado por:
det(A) = ∏( xi >j
i −x j )
Fórmula de Lagrange
pi(x)= ∏
j= 0
(x − x j )
, (i = 0, 1, ..., n)
j≠i
3
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
Como o polinómio P(x) que se deseja encontrar é de grau n e contém os pontos (xi, yi), i=0, 1, ..., n, pode-
se escrevê-lo como uma combinação linear dos polinómios pi(x), i=0,1,...,n.
ou
n
pi ( x )
Pn(x) = ∑y i =0
i ⋅
pi ( x i )
ou
( x − x 1 )( x − x 2 )...( x − x n ) ( x − x 0 )( x − x 2 )...( x − x n )
Pn ( x ) = y 0 + y1 + ...
( x 0 − x 1 )( x 0 − x 2 )...( x 0 − x n ) ( x 1 − x 0 )( x 1 − x 2 )...( x 1 − x n )
( x − x 1 )( x − x 2 )...( x − x n−1 )
+ yn
( x n − x 0 )( x n − x 1 )...( x n − x n−1 )
ou
n n (x − x )
∑ ∏ ( xi − x j )
j
Pn (x) = y i ⋅
i= 0 j= 0
j≠ i
max | f (n +1) ( x ) |
x∈[a,b]
| En ( x ) | = | f ( x ) −Pn ( x ) | ≤ * | ( x − x 0 )( x − x1)...( x − x n ) |
(n +1)!
Exemplo 3.1 A tabela abaixo relaciona a quantidade ideal de calorias, em função da idade e do peso,
para mulheres que possuem actividade física moderada e vivem a uma temperatura ambiente
média de 20o C. Determinar a cota aproximada de calorias para uma mulher de 25 anos e 46
quilos.
4
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
Resolução.
Construirmos uma tabela para nosso problema. Na qualidade de x escolhemos a coluna dos pesos. Na
qualidade de y usamos a coluna de calorias para mulheres de 25 anos.
n x y
0 40 1750
1 50 2050
2 60 2350
3 70 2600
No nosso exemplo:
n = 3 que determina o grau de polinómio interpolador;
x = 46.
Achar y(x).
Para resolução do problema utilizamos a fórmula de Lagrange.
( x − x1)( x − x 2 )( x − x 3 ) ( x − x 0 )( x − x 2 )( x − x 3 )
P3 ( x ) = y 0 + y1 +
( x 0 − x1)( x 0 − x 2 )( x 0 − x 3 ) ( x1 − x 0 )( x1 − x 2 )( x1 − x 3 )
( x − x 0 )( x − x1)( x − x 3 ) ( x − x 0 )( x − x1)( x − x 2 )
+ y2 + y3
( x 2 − x 0 )( x 2 − x1)( x 2 − x 3 ) ( x 3 − x 0 )( x 3 − x1)( x 3 − x 2 )
( 46 − 50 )( 46 − 60 )( 46 − 70 ) ( 46 − 40 )( 46 − 60 )( 46 − 70 )
P3 ( 46 ) = 1750 + 2050 +
( 40 − 50 )( 40 − 60 )( 40 − 70 ) (50 − 40 )( 50 − 60 )( 50 − 70 )
= 1927.20 kcal
( 46 − 40 )( 46 − 50 )( 46 − 70 ) ( 46 − 40 )( 46 − 50 )( 46 − 60 )
+ 2350 + 2600
( 60 − 40 )( 60 − 50 )( 60 − 70 ) (70 − 40 )( 70 − 50 )( 70 − 60 )
4. DIFERENÇAS FINITAS
Consideremos uma função tabelada onde valores de xi (i = 0,1,...,n) são igualmente espaçados, isto é,
xi+1 – xi = h, para todo i, sendo h uma constante.
5
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
Chamam-se às diferenças descendentes de yi a sequência das diferenças finitas ∆ yi, ∆ 2yi, ∆ 3yi, ... .
Por exemplo, as diferenças descendentes de y0 são valores: 1.09, 0.05, -0.10, 2.11.
∇3 ∇ 32
4 x4 y4 ∇ 23
∇4
5 x5 y5
6
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
3.05
4 5.5 16.19
Podemos rescrever a tabela na forma mais compacta:
Chamam-se às diferenças ascendentes de yi a sequência das diferenças finitas ∇ yi, ∇ 2yi, ∇ 3yi, ... .
Por exemplo, as diferenças ascendentes de y3 são valores: 1.09, -0.05, -0.10.
hn +1
| En ( x ) |≤ ⋅ q( q −1)( q −2)...( q −n) ⋅Mn +1, onde Mn +1 = max f (n +1) ( x )
(n +1)! x∈[a,b ]
2a Fórmula de Newton para interpolação no fim de tabela (com diferenças finitas ascendentes) é
hn +1
| En ( x ) |≤ ⋅q(q +1)( q +2)...( q +n) ⋅Mn +1 , onde Mn +1 = max f (n +1) ( x )
(n +1)! x∈[ a ,b ]
7
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
x − x0
x0 = 3.5; q= ; q = (3.7 – 3.5) / 0.5 = 0.4.
h
P(3.7) = 9.82 + 0.4 * 1.09 + 0.4 (0.4 – 1) 0.05 / 2 + 0.4 (0.4 – 1) (0.4 – 2) (-0.10) / 6 +
+ 0.4 (0.4 – 1) (0.4 – 2) (0.4 – 3) (2.11) / 24 =
= 9.82 + 0.436 – 0.006 – 0.0064 – 0.08778 = 10.16
b) O argumento x = 5.4 está no fim da tabela. Portanto, para cálculo do valor da função y(5.4)
usamos a 2a fórmula de Newton.
P(5.4) = 16.19 - 0.2 * 3.05 - 0.2 (-0.2 + 1) 1.96 / 2 - 0.2 (-0.2 + 1) (-0.2 + 2) (2.01) / 6 -
- 0.2 (-0.2 + 1) (-0.2 + 2) (-0.2 + 3) (2.11) / 24 =
= 16.19 – 0.61 – 0.1568 – 0.09648 – 0.07090 = 15.26
5. DIFERENÇAS DIVIDIDAS
8
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
y − yi +1
[ xi, xi+1] = i
xi − xi +1
[ x1, x 2 ] − [ x 2, x 3 ]
[ x1, x 2, x 3 ] =
x1 − x 3
............................................
[ xi, xi+1] − [ x i+1, xi+2 ]
[ x i, x i+1, xi+2 ] =
x i − xi+2
y − y1 10 − 20
1a ordem [ x 0 , x1] = 0 = = 10
x 0 − x1 0 −1
y 1 − y 2 20 − 100
[x1 , x 2 ] = = = 20
x1 − x 2 1− 5
y 2 − y 3 100 − 1100
[x 2 , x 3 ] = = = 200
x2 − x3 5 − 10
___________________________________________________
[x 0 , x1 ] − [x1 , x 2 ] 10 − 20
2a ordem [x 0 , x1 , x 2 ] = −= =2
x0 − x2 0−5
[ x 1 , x 2 ] − [ x 2 , x 3 ] 20 − 200
[x1 , x 2 , x 3 ] = = = 20
x1 − x 3 1 − 10
___________________________________________________
[ x 0 , x1, x 2 ] − [ x1, x 2, x 3 ] 2 − 20
3a ordem [ x 0 , x1, x 2, x 3 ] = = = 1 .8
x0 − x3 0 − 10
9
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
Seja uma função tabelada y = f(x), e P(x) é um polinómio interpolador de grau n. Pela definição da
diferença dividida tem-se :
y − y 0 P( x ) − P( x 0 )
[ x, x 0 ] = =
x − x0 x − x0
Daqui:
P(x) =P(x0) + [x,x0] (x – x0) (1) (1a ordem)
[ x, x0 ] − [ x 0 , x1]
[ x, x 0 , x1] =
x − x1
Representamos [x,x0]:
[x,x0] = [x0,x1] + [x,x0,x1] (x – x1)
Substituímos o valor [x,x0] na expressão (1):
P(x) = P(x0) + ( [x0,x1] + [x,x0,x1] (x – x1) ) (x – x0) =
P(x0) + [x0,x1] (x – x0) + [x,x0,x1] (x – x0) (x – x1) (2) (2a ordem)
[ x, x 0 , x 1 ] − [ x 0 , x 1 , x 2 ]
[ x, x 0 , x 1 , x 2 ] =
x − x2
Representamos [x,x0,x1]:
[x,x0,x1] = [x,x0,x1,x2] (x – x2) + [x0,x1,x2]
e substituímos o valor [x,x0,x1] na expressão (2):
P(x) = P(x0) + [x0,x1] (x – x0) + ([x,x0,x1,x2] (x – x2) + [x0,x1,x2]) (x – x0) (x – x1) =
P(x0) + [x0,x1]⋅ (x – x0) + [x0,x1,x2] (x – x0) (x – x1) + [x,x0,x1,x2] (x – x0) (x – x1) (x – x2)
(3a ordem)
Erro de interpolação:
10
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
max f (n +1) ( x )
|En(x)| ≤ | ( x − x )( x − x )( x − x )...( x − x ) | ⋅ x∈[ a,b]
0 1 2 n
(n +1)!
Exemplo 5.2.1. Determine o valor aproximado de y = f(3), usando os pontos de interpolação da tabela
anterior.
Resolução.
1. Calcular as diferenças divididas (são calculados já).
2. Escrevera fórmula de Newton com diferenças divididas.
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)
3. Achar y = f(3).
P(x) = 10 + 10 (x–0) + 2 (x-0)(x-1)+1.8(x-0)(x-1)(x-5) ;
P(3) = 10 + 10 (3–0) + 2 (3-0)(3-1)+1.8(3-0)(3-1)(3-5) = 10 + 30 + 12 - 21.6 = 30.4
P(3) = 30.4
6. INTERPOLAÇÃO INVERSA
6.2. Fórmula de Newton com diferenças divididas para valores de argumento em progressão
aritmética
11
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
Exemplo 6.2.1. Determine a partir da tabela o zero da função f(x) compreendido entre 1.3 e 1.4.
i 0 1 2 3
x 1.2 1.3 1.4 1.5
y = f(x) 0.472 0.103 - 0.344 - 0.875
[ y 0 , y1 ] = x1 − x 0 =
1.3 − 1.2
=
0.1
= −0.2710
y1 − y 0 0.103 − 0.472 − 0.369
[ y1, y 2 ] = x 2 − x1 =
1.4 − 1.3
=
0.1
= −0.2237
y 2 − y1 − 0.344 − 0.103 − 0.447
[ y 2 , y3 ] = x3 − x 2 =
1.5 − 1.4
=
0.1
= −0.1883
y3 − y 2 − 0.875 + 0.344 − 0.531
x = 1.2 – 0.271 (0 – 0.472) – 0.05797 (0 – 0.472) (0 – 0.103) – 0.01616 (0 – 0.472) (0 – 0.103) (0 + 0.344)
= 1.2 + 0.1279 – 0.002818 – 0.0002703 = 1.325
12
Cálculo Numérico. Interpolação e aproximação poliomial (Ficha teórica)
13