33
Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior [email protected]

Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior [email protected]

Embed Size (px)

Citation preview

Page 1: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Marco Antonio Montebello Júnior

[email protected]

Page 2: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Interpolação Polinomial

“Consiste em determinar, de forma aproximada, uma função que

descreve o comportamento de outra função que não se conhece, mas que tem valores tabelados do

tipo (x, f(x)).”

Page 3: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Interpolação Polinomial

Através dos pontos: (x0, f(x0)), (x1, f(x1)), ..., (xn, f(xn)) (n+1

pontos)

Deseja-se aproximar f(x) por um polinômio p(x) de grau menor ou igual a n, tal que: f(xi) = pn(xi) i = 0, 1, 2, ..., n

Onde: pn(x) = a0 + a1x + a2x2 + ... + anxn

Page 4: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Interpolação Polinomial

Portanto, interpolar um ponto x a um conjunto de n+1 dados {xi,f(xi)}, significa: Calcular o valor de f(x), sem conhecer a forma

analítica de f(x); Ajustar uma função analítica aos dados

Podemos concluir que: A interpolação polinomial consiste em obter um

polinômio p(x) que passe por todos os pontos do conjunto n+1 de dados {xi,f(xi)}

Page 5: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Interpolação Polinomial

De maneira que: p(x0) = f(x0)

p(x1) = f(x1) ... p(xn) = f(xn)

Detalhe importante: o índice se inicia em 0 (zero) portanto temos n+1 pontos.

O polinômio p(x) é chamado de polinômio interpolador

Page 6: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Interpolação Polinomial

Conforme demonstrado podemos escrever:

...

p x a a x a x a x f xn nn

0 0 1 0 2 02

0 0

p x a a x a x a x f xn nn

1 0 1 1 2 12

1 1

p x a a x a x a x f xn n n n n nn

n 0 1 22

Page 7: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Interpolação Polinomial

Considere o conjunto de dados {xi,f(xi)}

Como obter o valor de f(x) para um determinado valor de x que não foi medido

A função f(x) não é conhecida

xi 0 1,5 3,0 4,5 6,0

f(xi) 0,001 0,016 0,028 0,046 0,057

Page 8: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Interpolação Polinomial

0; 0,001

1,5; 0,016

3; 0,028

4,5; 0,046

6; 0,057

0

0,01

0,02

0,03

0,04

0,05

0,06

0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5

Page 9: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de Lagrange

Considere o conjunto de n+1 dados {xi,f(xi)}

Deseja-se obter o polinômio pn(x) de grau menor ou igual a n, que interpola f(x) em x0, x1, x2, ..., xn

Page 10: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de Lagrange

Podemos representar pn(x) como:

Onde os polinômios Lk(x) são de grau n

Para cada i a condição pn(xi) = f(xi) deve ser satisfeita

)()()()()()()( 1100 nnn xfxLxfxLxfxLxp

Page 11: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de Lagrange

Para satisfazer a condição imposta, devemos considerar:

ikse

iksexL ik ,1

,0)(

Page 12: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de Lagrange

Portanto, vamos provar a condição imposta:

e

p x L x f x L x f x L x f x

p x f x f x f x

p x f x

n n

n

( ) ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( )

0 0 0 0 1 0 1 0

0 0 1

0 0

1 0 0

p x L x f x L x f x L x f x

p x f x f x f x

p x f x

n n

n

( ) ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( )

1 0 1 0 1 1 1 1

1 0 1

1 1

0 1 0

Page 13: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de Lagrange

Ou seja, p(x) passa exatamente sobre {xi,f(xi)}

E, podemos verificar isso facilmente, pois:

L x e

L x se i k

k k

k i

1

0 ,

p x f xi i( ) ( )

Page 14: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de Lagrange

Uma das maneiras de definir Lk(x) seria:

nkkkkkkk

nkkk xxxxxxxxxx

xxxxxxxxxxxL

1110

1110)(

Page 15: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de Lagrange

Podemos definir o polinômio interpolador na Forma de Lagrange, como:

e p x L x f xn i ii

n

0

L x

x x

x xi

jjj i

n

i jjj i

n

0

0

Page 16: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeInterpolação para 2 pontos

Considere o conjunto de dados {xi,f(xi)}

Passo 1 – Montar a estrutura do polinômio

xi x0 x1

f(xi) f(x0) f(x1)

1100

1

0

xfLxfLxfLxpi

ii

Page 17: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeInterpolação para 2 pontos

Passo 2 – Li(x) devem satisfazer as condições L0(x0) = 1 L1(x0) = 0

L0(x1) = 0 L1(x1) = 1

Passo 3 – Montar os Li(x), conforme:

L x

x x

x xi

jjj i

n

i jjj i

n

0

0

Page 18: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeInterpolação para 2 pontos

Passo 3 (continuação)...

Passo 4 – Substituir os Li(x) no polinômio p(x)

10

10 )(

xx

xxxL

01

01 )(

xx

xxxL

101

00

10

1 xfxx

xxxf

xx

xxxp

Page 19: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeInterpolação para 3 pontos

Considere o conjunto de dados {xi,f(xi)}

Passo 1 – Montar a estrutura do polinômio

xi x0 x1 x2

f(xi) f(x0) f(x1) f(x2)

221100

2

0

xfLxfLxfLxfLxpi

ii

Page 20: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeInterpolação para 3 pontos

Passo 2 – Li(x) devem satisfazer as condições L0(x0) = 1 L1(x0) = 0 L2(x0) = 0

L0(x1) = 0 L1(x1) = 1 L2(x1) = 0

L0(x2) = 0 L1(x2) = 0 L2(x2) = 1

Passo 3 – Montar os Li(x), conforme:

L x

x x

x xi

jjj i

n

i jjj i

n

0

0

Page 21: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeInterpolação para 3 pontos

Passo 3 (continuação)...

Passo 4 – Substituir os Li(x) no polinômio p(x)

2010

210 xxxx

xxxxL

2101

201 xxxx

xxxxL

1202

102 xxxx

xxxxL

2

1202

101

2101

200

2010

21)( xfxxxx

xxxxxf

xxxx

xxxxxf

xxxx

xxxxxp

Page 22: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeExemplo

Ajustar uma reta aos seguintes pontos:

Passo 1

X 2 4

f(x) 3,1 5,6

1100

1

0

xfLxfLxfLxpi

ii

60,510,3 10 LLxp

Page 23: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeExemplo

Passo 2 – Li(x) devem satisfazer as condições L0(x0) = 1 L1(x0) = 0

L0(x1) = 0 L1(x1) = 1

Passo 3 – Montar os Li(x), conforme:

L x

x x

x xi

jjj i

n

i jjj i

n

0

0

Page 24: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeExemplo

Passo 3 (continuação)...

2

4

2

4

42

4)(

10

10

xxx

xx

xxxL

2

2

24

2)(

01

01

xx

xx

xxxL

Page 25: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeExemplo

Passo 4

60,52

210,3

2

4

xx

xp

60,510,3 10 LLxp

)2(80,2)4(55,1 xxxp

60,025,1 xxp

Page 26: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Estudo do Erro na Interpolação (Teorema 2)

Ao se aproximar uma função f(x) por um polinômio interpolador de grau ≤ n, comete-se um erro:

Erro absoluto: En(x) = f(x) – pn(x), para todo x no intervalo [x0, Xn]

Estudar o erro é importante para sabermos quão próximo f(x) está de pn(x)

Page 27: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Estudo do Erro na Interpolação (Teorema 2) Sejam x0 < x1 < x2 < ... < xn (n pontos) Seja f(x) com derivadas até a ordem n para

todo x pertencente ao intervalo [x0, xn]

Seja pn(x) o polinômio interpolador de f(x) nos pontos x0, x1, ..., xn

Então, em qualquer ponto x pertencente ao intervalo [x0, xn], o erro é dado por:

!

)()())()(()()()( 210 n

fxxxxxxxxxpxfxE x

n

nnn

),( , 0 nx xxonde

Page 28: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Limitante para o Erro

A fórmula para o erro mostrada anteriormente tem seu uso limitado na prática, pois são raras as situações que conhecemos f(n)(x) e o ponto x nunca é conhecido.

Agora estudaremos 2 corolários do Estudo do Erro na Interpolação (Teorema 2), que relacionam o erro com um limitante de f(n)(x)

Page 29: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Limitante para o ErroCorolário 1

Baseados no que foi dito anteriormente, se f(n)(x) for contínua em I=[x0,xn], podemos escrever a relação:

!)())(()()()( 10 n

MxxxxxxxpxfxE nnnn

)( , xfmáxMonde n

Ixn

Page 30: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Limitante para o ErroCorolário 2

Se além das hipóteses anteriores os pontos forem igualmente espaçados, ou seja:

x1 - x0 = x2 – x1 = ... = xn – xn-1 = h, Então:

Observe que o majorante acima independe do ponto x considerando, x [x0, xn]

n

Mhxpxf n

n

n 4)()(

Page 31: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeExercícios

1. Interpolar o ponto x = 1,5 na tabela abaixo, empregando o polinômio interpolador de Lagrange

x -1 0 1 2

f(x) 1 3 1 1

Page 32: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeExercícios

A tabela seguinte relaciona a velocidade de queda de um pára-quedista em função do tempo. Determine a velocidade de queda do pára-quedista ao fim

de 10s usando polinômio interpolador de Lagrange de grau menor igual a 3

Tempo(s) 1 3 5 7 13

Vel(cm/s) 800 1310 2090 2340 3180

Page 33: Introdução a Computação e Cálculo Numérico - Lab Marco Antonio Montebello Júnior montebello@facens.br

Introdução a Computação e Cálculo Numérico - Lab

Forma de LagrangeExercícios

Dada a tabela da função f(x) = ln(x), calcule uma aproximação para o valor f(12,3), usando a interpolação parabólica baseada no método de Lagrange.

x 11 12 13 14 15

f(x) 2,397895 2,484907 2,564949 2,639057 2,708050