Aproximação de funções
Elementos de Análise Numérica
Aproximação de funções
Pontos mais importantes:
-objectivo de aproximação de funções
-Interpolação:
-interpolação polinomial
-polinómio interpolador de Newton
-polinómio interpolador de Lagrange
-”splines”
[-regressão:
-regressão linear
-coeficiente de regressão
-regressão não linear]
1
Aproximação de funções
Elementos de Análise Numérica
Motivação
-dados são frequentemente disponíveis como um conjunto discreto de
pontos (experiências, tabelas) ----> pretendem-se estimar valores
entre os pontos
-pretende-se uma forma simplificada de uma função complicada ----->
calculam-se os valores da função só para alguns pontos discretos no
intervalo de interesse e usar uma função mais simples (e.g. linear)
para estimar os outros valores (tabelas, gráficos de engenharia)
2
Aproximação de funções
Elementos de Análise Numérica
Métodos de aproximação de funções
-pontos muito precisos (erros
associados são desprezáveis)
----> a função de aproximação
deve passar por cada um dos
pontos----> interpolação
interpolação
-pontos afectado por um erro
apreciável----->o
que
têm
importância é a tendência geral
dos dados por isso a função
não precisa de passar
necessariamente por todos os
pontos-----> regressão
regressão
3
Aproximação de funções
Elementos de Análise Numérica
Interpolação polinomial
-em princípio podemos usar qualquer função como função interpoladora
-polinómios são excelentes candidatos, porque dados n+1 pontos, há
apenas um e só um polinómio de grau n, ou inferior, que passa em
todos os pontos:
-2 pontos----> n=1 (recta)
-3 pontos----> n=2 (parábola)
-a interpolação consiste em determinar os parâmetros do polinómio de
grau n a partir de n+1 pontos dados ({x1;y1}, {x2;y2},…, {xn+1;yn+1})
sabendo que p(xi)= yi
2
n
p
(
x
)
a
a
x
a
x
...
a
x
-forma geral dos polinómios:
0
1
2
n
4
Aproximação de funções
Elementos de Análise Numérica
Interpolação polinomial
-aplicando os pontos conhecidos {xi;yi} resulta um sistema linear com
n+1 incógnitas
1 x 0
1 x1
1 x n
x 02 x 0n a 0 y 0
2
n
x1 x1 a1 y1
2
n
x n x n a n y n
-a matriz de coeficientes é tanto mais mal condicionada tanto maior for n
-embora o polinómio p(x) seja único, ele pode ser expresso de variadas
maneiras:
-polinómio de Newton
-polinómio de Lagrange
5
Aproximação de funções
Elementos de Análise Numérica
Polinómio interpolador de Newton (diferenças divididas finitas)
Interpolação linear (n=1): 2 pontos {x1;y1}, {x2;y2}
y1 a 0 a 1x1
y 2 a 0 a 1x 2
( y 2 y1 )
a
1
( x 2 x1 )
( y y1 )
a 0 y1 2
x1
( x 2 x1 )
y y1
( y 2 y1)
( x x1 )
( x 2 x1 )
aprox. da primeira derivada
6
Aproximação de funções
Elementos de Análise Numérica
Polinómio interpolador de Newton (diferenças divididas finitas)
Interpolação quadrática (n=2): 3 pontos {x1;y1}, {x2;y2}, {x3;y3}
-procuramos o interpolador na forma:
p( x) b0 b1 ( x x1 ) b2 ( x x1 )( x x2 )
-aplicando as condições conhecidos, os parâmetros de polinómio
podem ser determinadas:
p( x1 ) b 0 y1
y 2 y1
p( x 2 ) b 0 b1 ( x 2 x1 ) y 2 b1
x 2 x1
p( x 3 ) b 0 b1 ( x 2 x1 ) b 2 ( x 3 x1 )( x 3 x 2 ) y 3
y 3 y 2 y 2 y1
x x 2 x 2 x1
b3 3
x 3 x1
( x1 ; y 1 )
( x2 ; y2 )
( x3 ; y3 )
7
Aproximação de funções
Elementos de Análise Numérica
Polinómio interpolador de Newton (diferenças divididas finitas)
Interpolação de grau n (forma geral): n+1 pontos {x0;y0}, {x1;y1},... {xn;yn}
-procuramos o interpolador na forma:
p( x) b0 b1 ( x x0 ) b2 ( x x0 )( x x1 ) ... b n ( x x0 )( x x1 )....( x x n1 )
onde
b0 y0
b1 f [ x1 , x 0 ]
b 2 f [ x 2 , x1 , x 0 ]
b n f [ x n , x n 1 ,..., x 2 , x1 , x 0 ]
-a função f[ ] é chamada diferenças divididas de ordem n
8
Aproximação de funções
Elementos de Análise Numérica
Polinómio interpolador de Newton (diferenças divididas finitas)
Diferenças divididas:
-ordem 0:
f[ xi]=f(xi)
f ( xi ) f ( x j )
-ordem 1:
f [ xi , x j ]
-ordem 2:
f [ xi , x j , x k ]
-ordem n:
xi x j
f [ xi , x j ] f [ x j , x k ]
xi x k
f [ x n , x n 1 ,..., x1 ] f [ x n 1 , x n 2 ,..., x0 ]
f [ x n , x n 1 ,..., x1 , x 0 ]
x n x0
-polinómio de interpolador geral de Newton:
p( x) f ( x 0 ) ( x x0 ) f [ x1 , x 0 ] ( x x0 )( x x1 ) f [ x2 , x1 , x0 ]
( x x 0 )( x x1 )...( x x n 1 ) f [ x n , x n 1 ,..., x0 ]
9
Aproximação de funções
Elementos de Análise Numérica
Polinómio interpolador de Newton (diferenças dividida finita)
x
y
x0
y0
1ª
y10
x1
y1
y 21
x2
y2
y 32
x3
y3
ordem
2ª
y1 y 0
x1 x 0
y 2 y1
x 2 x1
y3 y2
x3 x2
y 210
y 321
y 21 y10
x2 x0
y 32 y 21
x 3 x1
3ª
y 3210
y 321 y 210
x3 x0
Tabela de diferenças divididas
-não é necessário que os pontos estejam igualmente espaçados
-não é necessário que as abcissas estejam ordenadas por ordem crescente
10
Aproximação de funções
Elementos de Análise Numérica
Exemplo:
ordem
x
y
1
-1
1.1
1.51
1.3
2.56
1ª
y10
y 210
2.56 1.51
y 21
5.27
1.3 1.1
y32
1.4
1.51 (1)
25.09
1.1 1
2ª
3.1 2.56
56.59
1.4 1.3
y 321
5.27 25.09
66.07
1.3 1
3ª
y 3210
206 .2 (66 .07 )
350 .3
1.4 1
56 .59 5.27
206 .2
1. 4 1. 1
-3.1
p(x) 1 25,09 (x 1) (66,07) (x 1)(x 1,1) (350,3) (x 1)(x 1,1)(x 1,3)
p(1,17) 1 25,09 (1,17 1) (66,07) (1,17 1)(1,17 1,1)
(350,3) (1,17 1)(1,17 1,1)(1,17 1,3) 3,02
11
Aproximação de funções
Elementos de Análise Numérica
Erro de interpolador de Newton
-o erro da interpolação é uma função definida por en(x)=f(x)-pn(x)
-a formula do interpolador é semelhante à do desenvolvimento de
uma função em série de Taylor
-as diferenças divididas são aproximações das derivadas de ordem
superior
-o erro associado à aproximação de Taylor:
f ( n1) ()
Rn
( xi 1 xi ) n1
( n 1)!
com xi<<xi+1
-para o interpolador numa forma análoga:
f ( n 1) ()
Rn
( x x0 )( x x1 )...( x x n )
( n 1)!
f ( n 1) ()
f [ x, x n , x n 1 ,..., x1 , x 0 ]
( n 1)!
R n f [ x, x n , x n1 ,..., x1 , x0 ]( x x0 )( x x1 )...( x x n )
12
Aproximação de funções
Elementos de Análise Numérica
Erro de interpolador de Newton
-a função f(x) é geralmente incógnita, mas se mais um ponto (n+1) é
disponível,o erro pode ser aproximado:
R n f [ x n1 , x n , x n1 ,..., x1 , x0 ]( x x0 )( x x1 )...( x x n )
13
Aproximação de funções
Elementos de Análise Numérica
Exemplo:
ordem
x
y
1
-1
1ª
2ª
3ª
4ª
25.09
1.1
66.07
1.51
350 .3
5.27
1.3
206 .2
2.56
56.59
1.4
y 43210
1031 (350 .3)
2302
1.6 1
1031
309.3
-3.1
36.2
1.6
4.14
R 3 (x) 2302 (x 1)(x 1,1)(x 1,3)(x 1,4)
R 3 (1,17) 2302 (1,17 1)(1,17 1,1)(1,17 1,3)(1,17 1,4) 0,819
14
Aproximação de funções
Elementos de Análise Numérica
Obtenção do polinómio interpolador pelo método de Lagrange
-o método de Lagrange é uma reformulação do interpolador
Newtoniano, mas evita o cálculo das diferenças divididas finitas
-expressão geral:
n
n
p( x) L i ( x) f ( x i )
i0
onde
L i ( x)
j 0
j i
x xj
xi x j
-n=1
p( x)
x x1
x x0
f ( x0 )
f ( x1 )
x0 x1
x1 x0
-n=2
p( x)
x x1 x x2
x x0 x x2
x x0 x x1
f ( x0 )
f ( x1 )
f ( x2 )
x0 x1 x0 x2
x1 x 0 x1 x 2
x 2 x 0 x2 x1
-o erro de aproximação é obtido de forma semelhante do que no caso
do método Newtoniano
15
Aproximação de funções
Exemplo:
p( x )
p(0,9)
Elementos de Análise Numérica
x
f(x)
0
1
2
1
7
6
x 1 x 2
x 0 x 2
x 0 x 1
1
7
6
0 1 0 2
1 0 1 2
2 0 2 1
0,9 1 0,9 2
0,9 0 0,9 2
0,9 0 0,9 1
1
7
6 6,72
0 1 0 2
1 0 1 2
2 0 2 1
16
Aproximação de funções
Elementos de Análise Numérica
Interpolação com nós equidistantes
-designando por h a distância entre nós sucessivos, podemos escrever que:
x0
x1 x 0 h
x2 x0 2 h
x n x 0 nh
-diferenças divididas :
f [ x1 , x0 ]
f ( x1 ) f ( x 0 ) f ( x0 )
x1 x0
h
x n x0
onde h =
n
f ( x 2 ) f ( x1 ) f ( x1 ) f ( x 0 )
2 f ( x 0 )
x 2 x1
x1 x 0
f [ x 2 , x1 , x 0 ]
x2 x0
2h2
f [ x n , x n1 ,..., x1 ] f [ x n1 , x n2 ,..., x0 ] n f ( x0 )
f [ x n , x n1 ,..., x1 , x0 ]
x n x0
n! h n
17
Aproximação de funções
Elementos de Análise Numérica
Interpolação com nós equidistantes
-o símbolo n representa o operador de diferenças progressivas:
0 f ( x) f ( x)
1f ( x) f ( x h) f ( x)
k 1f ( x) ( k ( f ( x))
-o resultado pode ser substituído no interpolador Newtoniano:
f ( x 0 )
2 f ( x 0 )
p( x) f ( x 0 )
( x x0 )
( x x 0 )( x x 0 h)
h
2h2
n f ( x 0 )
( x x 0 )( x x 0 h)...( x x 0 ( n 1) h)
n! h n
18
Aproximação de funções
Elementos de Análise Numérica
Interpolação com nós equidistantes
-aplicando o facto de qualquer ponto no intervalo [xo,xn] pode ser
representado pela seguinte formula:
x=x0+ah
-o interpolador pode ser simplificado:
f ( x 0 )
2 f ( x 0 )
p( x ) f ( x 0 )
a
a(a 1)
1!
2!
n f ( x 0 )
a(a 1)...(a n 1)
n!
-o erro é dado por:
f ( n1) () n1
Rn
h a(a 1)...(a n)
( n 1)!
-extrapolação: estimativa do valor de f(x) fora da gama de valores dos
pontos conhecidos (perigoso)
19
Aproximação de funções
Elementos de Análise Numérica
Exemplo:
x
y
10
-1
20
1.51
ordem
f
2f
1,51 (1) 2,51
1,04 2,51 1,47
6,7 (1,47) 5,23
2,56 1,51 1,04
30
3f
2.56
5,66 1,04 6,7
3,1 2,56 5,66
40
-3.1
p( x ) 1 2,51a
1,47
5,23
a(a 1)
a(a 1)( a 2)
2!
3!
X=23 ; a=1,3
p(23) 1 2,51 1,3
1,47
5,23
1,3(1,3 1)
1,3(1,3 1)(1,3 2) 2.21
2!
3!
Aproximação de funções
Elementos de Análise Numérica
“Splines” (interpolação por segmentos polinomiais)
-às vezes um polinómio interpolador de grau n pode resultar em grandes
erros (exemplo: uma função geralmente suave mas com algumas
variações bruscas)
-solução: splines, aplicando polinómios de grau inferior de n (para n+1
pontos) a subconjuntos de pontos
Splines lineares (m=1):
S( x ) f ( x 0 ) m 0 ( x x 0 )
x0 x x1
S( x ) f ( x1 ) m1 ( x x1 )
x1 x x 2
S( x ) f ( x n 1 ) m n 1 ( x x n 1 )
onde
mi
f ( xi 1 ) f ( xi )
xi 1 xi
xn -1 x x n
21
Aproximação de funções
Elementos de Análise Numérica
“Splines” (interpolação por segmentos polinomiais)
Splines quadráticas (m=2): as derivadas de primeira ordem
contínuas nos nós (iguais)
-para cada intervalo entre os pontos, o aproximador é um polinómio
de grau 2:
Si (x) a i bi x ci x 2
xi-1 x x i
-n intervalos ---> 3n incógnitas -----> precisamos 3n equações
-estas equações são:
f ( x i 1 ) a i 1 b i 1x i 1 c i 1x i 12
onde i = 2,3... n
f ( x i 1 ) a i b i x i 1 c i x i 12
2n-2 equações
f ( x 0 ) a 1 b1x 0 c1x 0 2
nos pontos extremos
2
f (xn ) a n bn xn cn xn
2 equações
bi 2ci xi 1 bi 1 2ci 1xi 1
2c1 0
onde i = 2,3...n
a segunda derivada igual a zero
n-1 equações
1 equação
22
Aproximação de funções
Elementos de Análise Numérica
“Splines” (interpolação por segmentos polinomiais)
Splines cúbicas (m=3): as derivadas de primeira e segunda ordem
contínuas nos nós (iguais)
-para cada intervalo entre os pontos, o aproximador é um polinómio de
grau 3:
S(x) a i bi x ci x 2 + di x 3
xi-1 x x i
-n intervalos ---n> 4n incógnitas -----> precisamos 4n equações
(condições):
-valores da função iguais nos nós interiores (2n-2)
-a primeira e última funções devem passar pelos pontos extremos
respectivos (2)
-o valor das primeiras derivadas nos pontos interiores deve ser igual (n-1)
-o valor de segundas derivadas nos pontos interiores deve ser igual (n-1)
- o valor de segundas derivadas nos pontos extremos é 0 (2)
23
Aproximação de funções
Elementos de Análise Numérica
“Splines” (interpolação por segmentos polinomiais)
-as condições anteriores resultam num sistema de eq. com 4n incógnitas
-um método alternativo resulta só num sistema tridiagonal apenas com
n-1 incógnitas
-a segunda derivada em cada intervalo é uma recta---->pode ser
representada com um interpolador de Largrange de 1º grau:
f i( x )
x xi
x x i 1
f ( x i 1 )
f ( x i )
x i 1 x i
x i x i 1
-a expressão anterior pode ser integrada duas vezes, e o resultado é
uma função polinomial de grau 3 com duas constantes de integração
-aplicando as condições para os valores extremos no intervalo i (f(xi) e
f(xi-1)), os constantes de integração podem ser determinadas
24
Aproximação de funções
Elementos de Análise Numérica
“Splines” (interpolação por segmentos polinomiais)
-o resultado:
f ( x i 1 )
f ( x i )
3
f i ( x)
( x i x)
( x x i 1 ) 3
6( x i x i 1 )
6( x i x i 1 )
f ( x i 1 ) f ( x i 1 )( x i x i 1 )
f ( xi )
f ( x i )( x i x i 1 )
( x i x)
( x x i 1 )
x
x
6
x
x
6
i 1
i 1
i
i
-a expressão para cada intervalo (i=1,2,...,n) só tem duas incógnitas (f´´)
em vez de 4
25
Aproximação de funções
Elementos de Análise Numérica
“Splines” (interpolação por segmentos polinomiais)
-aplicando a condição que:
fi1 ( xi ) fi( xi )
e derivando a fórmula anterior:
( x i x i 1 ) f ( x i 1 ) 2( x i 1 x i 1 ) f ( x i ) ( x i 1 x i ) f ( x i 1 )
6
6
f ( x i 1 ) f ( x i )
f ( x i 1 ) f ( x i )
x i 1 x i
x i x i 1
-o resultado é um sistema com n-1 equações e n+1 incógnitas
-mas considerando que as segundas derivadas são zero nos pontos 1 e n,
o sistema (tridiagonal) só envolve n-1 incógnitas---->pode ser resolvido
para as segundas derivadas nos nós
26
Aproximação de funções
Exemplo:
Elementos de Análise Numérica
i
0
1
2
3
xi
10
20
30
40
f(xi)
-1
1,51
2,56
-3,1
( x i x i 1 ) f ( x i 1 ) 2( x i 1 x i 1 ) f ( x i ) ( x i 1 x i ) f ( x i 1 )
6
6
f ( x i 1 ) f ( x i )
f ( x i 1 ) f ( x i )
x i 1 x i
x i x i 1
6
6
2
,
56
1
,
51
1
1
,
51
0,876
20 10 f (20) 10
10
10 20 f (30) 6
6
4
,
03
3,1 2,56 1,51 2,56
10
10
20 10
A
300
10 20
0,876 10
A1
22,7
4,03 20
20 0,876
A2
71,8
10 4,03
f (20) 0,0758
f (30) 0,239
27
Aproximação de funções
f i ( x)
Elementos de Análise Numérica
f ( x i 1 )
f ( x i )
( x i x) 3
( x x i 1 ) 3
6( x i x i 1 )
6( x i x i 1 )
f ( x i 1 ) f ( x i 1 )( x i x i 1 )
f ( xi )
f ( x i )( x i x i 1 )
(
x
x
)
i
( x x i 1 )
6
6
x i x i 1
x i x i 1
f 2 (23)
0,0758
0,239
1,51 0,075810
(30 23)3
(23 20)3
(30 23)
6 10
6 10
6
10
2,56 0,23910
(23 20) 1,84
6
10
28