Interpolação PolinomialAjuste de Curvas (Parte II)
Prof. Jorge Cavalcanti – [email protected]
MATERIAL ADAPTADO DOS SLIDES DA DISCIPLINA CÁLCULO NUMÉRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/
Cálculo Numérico
2
Interpolação Polinomial Estratégia de manipulação de uma função definida por uma tabela de valores
Ajuste de Curvas - Introdução
x
y
1,166,150,135,121,108,8
11109876
8,80,70,52,45,33,1
654321
i
i
i
i
y
x
y
x
3
Inconvenientes
Necessidade de obtenção de um valor aproximado da função em algum ponto fora do intervalo de tabelamento (extrapolação);
Existência de erros inerentes, não previsíveis, associados aos valores tabelados
Resultados de experimentos físicos ou dados resultantes de pesquisas
Ajuste de Curvas - Introdução
5
Problemática II
Geração de uma aproximação confiável para os valores tabelados
Possibilidade de extrapolação com certa margem de segurança
CasosDiscreto - a função é conhecida para m pontos Contínuo – a função é conhecida para todos os
pontos.
Ajuste de Curvas - Introdução
6
Problemática III
Ajuste de uma função a um conjunto de pontos
Contenção ou maior proximidade possível de todos os pontos à função que modela a constelação de pontos de interesse
Ajuste de Curvas – Caso Discreto
x
y
(1,1)
(8,2)
(27,3)
7
Problemática
Representação de uma função complexa a partir de outra mais simples
Simplificação do problema
Facilidade de resolução
Ajuste de Curvas – Caso Contínuo
x
y
7,1;5,012)(
728,044,36,3)( 23
xxg
xxxxf
8
Problemática
Representação de uma função complexa a partir de outra mais simples
Extrapolação com aproximação razoável. Simplificação de cálculos de novos pontos aproximados.
Ajuste de Curvas – Caso discreto
9
Seja um conjunto de pontos (xi, f(xi)), i=0,1,2..., m, e as funções g1(x), ..., gn(x), determinadas de alguma forma, com n m.
O que se procura é a função , dada por
tal que g(xi) passe o mais próximo possível dos pontos (xi, f(xi)).
Ajuste de Curvas – Caso discreto
(1)
xg
xgcxgcxgcxg nn 2211
)()( xgcxg i
n
1ii
10
A ideia mais simples para ajustar g à f e impormos a condição que g coincida com f nos pontos (xi, f(xi)) dados; ou seja g(xi)=f(xi).
Teríamos então:
Ajuste de Curvas
mi ,...,1
)(
...
)(
)(
mmnnm22m11
11nn122111
00nn022011
xfxgcxgcxgc
xfxgcxgcxgc
xfxgcxgcxgc
11
Deseja-se minimizar a diferença entre g(xi) e f(xi), i= 0, 1, 2...m.
Para definir as funções f(xi), i= 0, 1, 2...m é necessário determinar os coeficientes ci para que essas diferenças sejam as menores possíveis.
Configuração de um problema de minimização.
Ajuste de Curvas
12
Método dos Mínimos Quadrados Seja f dada pela tabela abaixo:
Objetivo
Obter uma função g(x) que aproxime dados tabelados (xi, f(xi)) afetados por erros inerentes.
A função g(x) não precisa passar pelos pontos da tabela, g(xi) f(xi), mas fornece o melhor ajuste no sentido dos mínimos quadrados.
Determinar uma reta g(x) = c0+ c1x que melhor se ajusta à f.
Ajuste de Curvas - Mínimos Quadrados
x x0 x1 x2
f(x) F(x0) F(x1) F(x2)
13
Ajuste de Curvas
Vamos considerar dk=g(xi)-f(xi). Observando a figura abaixo, com a reta g(x) = c0+ c1x, devemos escolher as constantes c0 e c1 de modo que d0, d1 e d2 sejam o menor possível.
Devemos, então, minimizar a soma dos desvios.
2
0k
kdMinimizar
14
Obtenção da melhor reta Minimização da soma das diferenças entre os valores de f(x)tabelados yi e os valores da função de ajuste (a+bxi) em cada ponto.
Resolução da aproximação pela minimização do somatório dos “erros” na expressão
Ajuste de Curvas
m
k
kdS1
kkk xgxfd onde (2)
m
k
kdMinimizar1
15
Ajuste de Curvas
Possibilidade de obtenção de diferença positiva ou negativa
Possibilidade de ocorrência de uma soma nula das diferenças, mesmo com os valores muito distantes da reta.
Modo de evitar o cancelamento Minimização do
quadrado da diferença 2
1
m
k
kdMinimizar
16
Assim, a expressão de S é substituída pela expressãoabaixo, que será mínima quando o somatório (2)também for:
Considerando g(x) dada pela expressão (1), o somatórioa ser minimizado toma a forma mostrada em (4).
(4)
(3)
Ajuste de Curvas
m
kkk
m
kk xgxfdS
1
2
1
m
kknnkkn xgcxgcxfcccSS
1
21121 ...,...,,
xgcxgcxgcxg nn 2211 (1)
17
Notar que S é função apenas dos coeficientes ci, i=1,..., n, pois f(xk) é conhecido e g(xk) pode ser arbitrado. Para minimizar S, é necessário que:
Do cálculo diferencial, sabe-se que para determinar o valor mínimo de uma função (ou seu valor crítico), deve-se derivar parcialmente esta função em relação às variáveis independentes.
Então, para se obter um ponto de mínimo de S, temos que encontrar seus pontos críticos, derivando (4).
A partir dessa condição, gera-se o sistema de equações lineares mostrado em (5).
(5)
Ajuste de Curvas
niCS i ,...,1,0
nixgxgcxgcxfC
S m
kkiknnkk ,...,1,....2
111
1
18
Expandindo a expressão anterior, obtém-se o sistema(6a), colocado na forma simplificada mostrada em(6b).
(6a)
(6b)
Ajuste de Curvas
nnnnn
nn
bcaca
bcaca
...
...
11
11111
m
kknkn
m
kknkn
m
kknk
m
kkkn
m
kkkn
m
kkk
xgxfcxgxgcxgxg
xgxfcxgxgcxgxg
111
11
11
111
111
........
........
ji
m
kkjkij axgxga
11 .
m
kkiki xgxfb
1
.(Simétricos)
19
Esse sistema é chamado de Normal e pode ser escrito assim:Ajuste de Curvas
m
k
mm
m
k
n
m
k
m
k
mmm
m
k
m
m
k
m
k
m
m
k
xfg
xfg
c
c
gggggg
gggggg
1
1
11
1
1 1
2
1
1
1 1
121
1
11
.
...
.
....
...
......
...
A montagem do sistema normal é facilitada com a construção daseguinte tabela:
i xi g1(xi) g2(xi) ... gm(xi) f(xi)
1 x1 g1(x1) g2(x1) ... gm(x1) f(x1)
2 x2 g1(x2) g2(x2) ... gm(x2) f(x2)
... ... ... ... ... ... ...
n xn g1(xn) g2(xn) ... gm(x0) f(xn)
g12 g1 g2 ... g1 gm g1 f
g2 g1 g22 ... g2 gm g2 f
gm g1 gm g2 ... gm2 gm f
A partir desses valores,constrói-se o sistema linear.
20
Exemplo 01
Como resultado de algum experimento, foram obtidos osseguintes valores para uma função f:
Deseja-se determinar a reta que melhor se ajusta a estes pontos pelo MMQ.
Ajuste de Curvas
4028112
8642
4321
i
i
y
x
i
21
Neste caso:
xxg
xg
xccxg
2
1
21
1
Ajuste de Curvas
x
y
xgcxgcxg
n
2211
2
4028112
8642
4321
i
i
y
x
i
xgcxgcxgcxg nn 2211
(O ajuste será por uma reta)
22
O sistema a ser resolvido é:
Ajuste de Curvas
4028112
8642
4321
i
i
y
x
i
;
;1
;2
;
2
1
21
xxg
xg
n
xccxg
i xi g1(xi) g2(xi) f(xi)
1 x1 g1(x1) g2(x1) f(x1)
2 x2 g1(x2) g2(x2) f(x2)
3 x3 g1(x3) g2(x3) f(x3)
4 x4 g1(x4) g2(x4) f(x4)
g12 g1 g2 g1 f
g2 g1 g22 g2 f
i xi g1(xi) g2(xi) f(xi)
1 2 1 2 2
2 4 1 4 11
3 6 1 6 28
4 8 1 8 40
g12 = 4 g1 g2 =20 g1 f=81
g2 g1 =20 g22 = 120 g2 f = 536
m
k
m
k
m
k
m
k
m
k
m
k
xfg
xfg
c
c
gggg
gggg
1
22
1
11
2
1
1
22
1
12
1
21
1
11
.
.
.
23
Substituindo-se os valores da tabela obtém-se:
Resolvendo-se o sistema obtém-se c1=-12,5 e c2=6,55.
A reta procurada é, portanto:
Ajuste de Curvas
536
81.
12020
204
2
1
c
c
x556512xg ,,
24
Exemplo 02
Seja uma função f, cujos dados que foram obtidosexperimentalmente são:
Deseja-se determinar a reta g(x) = c1 + c2x que melhor se ajusta a estes pontos pelo MMQ.
Ajuste de Curvas
5131xf
321x
321i
i
i
,)(
25
i xi g1(xi) g2(xi) f(xi)
1 x1 g1(x1) g2(x1) f(x1)
2 x2 g1(x2) g2(x2) f(x2)
3 x3 g1(x3) g2(x3) f(x3)
g12 g1 g2 g1 f
g2 g1 g22 g2 f
i xi g1(xi) g2(xi) f(xi)
1
2
3
5131xf
321x
321i
i
i
,)(
26
Exemplo 03
Seja uma função f, cujos dados que foram obtidosexperimentalmente são:
Deseja-se determinar a reta g(x) = c1 + c2x que melhor se ajusta a estes pontos pelo MMQ.
Ajuste de Curvas
i 1 2 3 4 5
x 0 1 2 3 4
f(x) 0.98 -3.01 -6.99 -11.01 -15
m
k
m
k
m
k
m
k
m
k
m
k
xfg
xfg
c
c
gggg
gggg
1
22
1
11
2
1
1
22
1
12
1
21
1
11
.
.
.
27
i xi g1(xi) g2(xi) f(xi)
1 x1 g1(x1) g2(x1) f(x1)
2 x2 g1(x2) g2(x2) f(x2)
3 x3 g1(x3) g2(x3) f(x3)
4 x4 g1(x4) g2(x4) f(x4)
5 x5 g1(x5) g2(x5) f(x5)
g12 g1 g2 g1 f
g2 g1 g22 g2 f
i xi g1(xi) g2(xi) f(xi)
1
2
3
4
5
i 1 2 3 4 5
x 0 1 2 3 4
f(x) 0.98 -3.01 -6.99 -11.01 -15