splines n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Splines PowerPoint Presentation
Download Presentation
Splines

Loading in 2 Seconds...

play fullscreen
1 / 43

Splines - PowerPoint PPT Presentation


  • 101 Views
  • Uploaded on

Splines. Renato Assunção Departamento de Ciência da Computação UFMG. Polinômio interpolador. O polinômio interpolador pode ser encontrado usando-se o polinômio de Lagrange ou a forma do polinômio de Newton.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Splines' - noelani-price


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
splines

Splines

Renato Assunção

Departamento de Ciência da Computação

UFMG

polin mio interpolador
Polinômio interpolador

O polinômio interpolador pode ser encontrado usando-se o polinômio de Lagrange ou a forma do polinômio de Newton.

O polinômio e único e os dois algoritmos (Lagrange e Newton) levam ao MESMO polinômio.

Eles são apenas duas formas diferentes de fazer o mesmo cálculo.

Os algoritmos que encontramos são estáveis numericamente.

polin mio interpolador problemas
Polinômio interpolador: problemas

Tudo parece muito bem e nossos problemas se acabaram-se...

Não é bem assim.

Os polinômios interpolantes tendem a apresentar overshoots

Isto é, oscilações muito extremas, máximos e mínimos locais muito extremos entre os pontos.

Isto ocorre principalmente nos limites do intervalo de interpolação

limita es do polin mio interpolante
Limitações do polinômio interpolante

É difícil acreditar que a função subjacente que queremos aproximar tenha tantas subidas e descidas entre os pontos que estão sendo interpolados.

Um único polinômio de grau n-1 passa pelos pontos e este polinomio único e’ este com as subidas e descidas extremas.

Existe um outro polinômio que tenha um aspecto menos variável?

polin mios com outros graus
Polinômios com outros graus

Quais as soluções para isto?

Talvez um polinômio de grau MENOR que n-1?

Ele terá um numero menor de máximos e mínimos locais

Por exemplo, um polinômio de grau 2 tem apenas um máximo ou mínimo.

Mas...polinômio de grau MENOR que n-1 NAO VAI passar pelos n pontos

(a não ser que os pontos estejam numa disposição muito especial)

aumentando o grau
Aumentando o grau?

Vai tornar a situação mais complicada.

Existem infinitos polinômios de grau n-1+k passando pelos npontos

Além disso, ele vai ter MAIS máximos e mínimos locais que o polinômio de grau n-1.

o que fazer entao
O que fazer entao?
  • Vamos lembrar da primeira técnica que estudamos: a interpolação linear.
  • Ela não tinha o problema de overshoots mas não era suave.
  • A interpolação linear era simplesmente um polinômio DIFERENTE ajustado em cada segmento [xi, xi+1].
  • A não-suavidade ocorria nas junções:
    • os polinômios eram retas
    • As derivadas eram constantes dentro do segmento [xi, xi+1]
    • Precisavam mudar abruptamente ao passar de um segmento para outro.
solu o
Solução

Entao...que tal ajustar um polinomio mais maleavel que uma reta em cada segmento [xi, xi+1]?

Queremos ajustar um polinômio "por partes".

Um polinômio de 2º ou 3º grau em cada segmento de forma que eles “colem” suavemente num no outro.

Como fazer isto? Splines e' a solução...

ajustando par bolas por partes
Ajustando parábolas por partes

Precisam colar suavemente umas as outras.

grau do polin mio
Grau do polinômio

Podemos tentar usar parábolas que se ajustem suavemente umas as outras.

Ou talvez polinômios cúbicos (3º. grau).

O polinômio que usamos e’ o de 3º grau, splines cúbicos: e’ bastante suave, da’ bons resultados.

compara o com lagrange
Comparação com Lagrange

Overshoots muito menos pronunciados, menos íngremes

problema mais simples
Problema mais simples

Antes de definir os splines, vamos resolver um problema mais simples.

Achar um polinômio p(x) tal que p(-1)=1 e p(3)=0.

Isto e, o polinômio passa pelos pontos (-1, 1) e (3, 0)

Alem disso, queremos fixar o valor das derivadas neste pontos.

Queremos que p’(-1) = 0 e também que p’(3) = 0.

primeiro grau
Primeiro grau?
  • Claramente, não existe um reta (polinômio de grau 1) satisfazendo estas condições:
    • Uma reta tem derivada constante
    • A derivada e’ zero em dois pontos
    • A derivada deve ser igual a zero para todos os pontos  reta horizontal
    • Mas uma reta horizontal não pode passar por (-1, 1) e (3,0)
segundo grau resolve
Segundo grau resolve?
  • Também não e’ possível achar um polinômio de segundo grau satisfazendo estas condições.
  • Suponha que p(x) e’ polinômio de segundo grau e que
    • 1 = p(-1) = a0 + a1(-1) + a2(-1)2
    • 0 = p(3) = a0 + a1(3) + a2(3)2
    • 0 = p’(-1) = a1 + 2 a2(-1)
    • 0 = p’(3) = a1 + 2 a2(3)
sistema linear correspondente
Sistema linear correspondente

Sistema com mais equações que incógnitas

Em geral, este tipo de sistema linear não possui solução.

Este e’ o caso aqui: não há solução

segundo grau sem solu o
Segundo grau: sem solução

Eliminação gaussiana gera o sistema equivalente da direita, que não possui solução.

(veja a ultima equação: 0=1/2)

terceiro grau
Terceiro grau?
  • p(x) e’ polinômio de 3º. grau e:
    • 1 = p(-1) = a0 + a1(-1) + a2(-1)2 + a3(-1)3
    • 0 = p(3) = a0 + a1(3) + a2(3)2 + a3(3)3
    • 0 = p’(-1) = a1 + 2 a2(-1) + 3 a3 (-1)2
    • 0 = p’(3) = a1 + 2 a2(3) + 3 a3 (3)2
  • Ou seja
    • a0 - a1 + a2 - a3 = 1
    • a0 + 3a1 + 9 a2 + 27 a3 = 0
    • a1 - 2 a2 + 3 a3 = 0
    • a1 + 6 a2 + 27 a3 = 0
polin mio c bico ok
Polinômio cúbico: ok

O sistema linear pode ser escrito como:

Que possui solução única e igual a (0.84, - 0.28, -0.09, 0.03)

splines1
Splines
  • n+1 pontos: (x0,y0),...,(xn,yn)
  • Achar função f(x) que seja:
    • Um polinômio cúbico em cada intervalo [xi-1,xi] com i=1,..,n
    • Passe pelos pontos (xi,yi)
    • Seja bastante suave nos pontos de junções dos intervalos:
      • f’(x) seja continua em todos os pontos
      • f’’(x) também seja continua em todos os pontos
      • f’’(x) = 0 nos dois pontos extremos
splines2
Splines
  • As condições anteriores são suficientes para garantir que o sistema linear resultante será sempre invisível.
  • Vamos ver um caso simples, com apenas 3 pontos.
  • Considere os pontos
    • (-1, 1), (1, 3) (2, 0)
splines3
Splines
  • Queremos dois polinômios cúbicos.
  • Um polinômio entre (-1,1) e (1,3) e outro polinômio entre (1,3) e (2,0)
  • Vamos denotar este polinômios por p1(x) e p2(x) sendo que
  • p1(x)=a01+a11x+a21x2+a31x3
  • p2(x)=a02+a12x+a22x2+a32x3
  • p1(x) passa por (-1,1) e (1,3)
  • p2(x) passa por (1,3) e (2,0)
  • Note o ponto (1,3) comum aos dois polinômios.
construindo o sistema linear
Construindo o sistema linear

A restrição de passar pelos 3 pontos cria 4 equações lineares que devem ser satisfeitas.

1=a01 -a11+a21 -a31

3=a01+a11+a21+a31

3= a02+ a12+ a22+ a32

0= a02+2a12+4a22+8a32

Temos 4 equações e 8 incógnitas: infinitas soluções.

Precisamos acrescentar mais restrições.

que restri es adicionais s o estas
Que restrições adicionais são estas?

Não queremos apenas que os polinomios encontrem-se no ponto (1,3)

Queremos que eles se encontrem suavemente no ponto de junção (1,3).

Por exemplo, queremos que a derivada pela esquerda no ponto x=1, que e’ a derivada do polinômio p1(x), coincida com a derivada pela direita no mesmo ponto x=1 (que e’ a derivada do polinômio p2(x))

restri es nas 1 a s derivadas
Restrições nas 1as. derivadas

Assim, vamos impor o seguinte:

p1’(1) = p2’(1)

Temos p’(x)=a1+2a2x+3a3x2 para um polinômio genérico de 3º. grau

No nosso caso, teremos a equação

a11+ 2a21 + 3a31 = a12 + 2a22 + 3a32

Ou seja,

a11+ 2a21 + 3a31 - a12 - 2a22 - 3a32 = 0

O único ponto de junção gerou uma equação adicional.

Temos agora 4 + 1 equações e 8 incógnitas.

restri es nas 2 a s derivadas
Restrições nas 2as. derivadas
  • Vamos adicionar uma restrição na 2ª derivada, também no ponto de junção.
  • Vamos pedir que p1’’(1) = p2’’(1)
  • Temos p’’(x)=2a2+6a3x para um polinômio genérico do 3º. Grau. Assim, teremos
  • 2a21 + 6a31 = 2a22 + 6a32
    • Ou seja, 2a21 + 6a31 - 2a22 - 6a32 = 0
  • Temos agora 4 + 1 +1 equações e 8 incógnitas.
  • Precisamos de mais 2 restrições (ou equações).
restri es finais
Restrições finais

Os diversos tipos de splines diferem com respeito a estas duas restrições finais.

O chamado spline natural impõe uma restrição sobre a derivada 2ª. nos dois pontos extremos: ela deve ser igual a zero.

Isto e’, queremos p1’’(x0)=0 e p2’’(x2)=0

Se a função for aproximadamente linear nos extremos, sua derivada segunda deveria ser aproximadamente zero.

restri es finais1
Restrições finais
  • Com nossos pontos específicos, isto implica
  • p1’’(-1)=0 e p2’’(2)=0
  • Ou seja, temos duas equações adicionais:
    • 2a2 - 6 a3 =0
    • 2a2 + 6*2 a3 = 0
  • Agora temos 8 equações e 8 incógnitas
caso geral
Caso geral

Alem disso, nos pontos internos temos

splines sistema linear
Splines = sistema linear

Assim, interpolar os pontos com splines cúbicos leva a um sistema linear.

Pode-se mostrar que este sistema sempre tem solução única.

A função em scilab para interpolar com splines cúbicos naturais e’ splin(x, y,"natural");