Baixe o app para aproveitar ainda mais
Prévia do material em texto
Interpolac¸a˜o Spline June 15, 2015 1 Introduc¸a˜o Dados os pontos (xi, yi) com i = 1, · · · , k Uma func¸a˜o spline de grau 3 com no´s a = x0, x1, · · · , xk = b e´ uma func¸a˜o F (x) satisfazendo as seguintes propriedades: 1. F (xi) = yi, 1 ≤ i ≤ k; 2. Em cada subintervalo [xi−1, xi], 1 ≤ i ≤ k, F (x) e´ um polinoˆmio de grau 3. 3. F (x), F ′(x) e F ′′(x) sa˜o cont´ınuas no intervalo (a, b). Sera´ necessa´rio determinar k polinoˆmios, por exemplo na Figura 1. Figure 1: Exemplo spline Cada polinoˆmio Pi(x) pode ser escrito como Pi(x) = aix 3+bix 2+cix+di. Como existem n polinoˆmios, enta˜o sera´ necessa´rio determinar o valor de 4n varia´veis. Estas varia´veis podem ser determinadas atrave´s da resoluc¸a˜o de um sistema linear. A seguir sera˜o determinadas as equac¸o˜es que ira˜o compor este sistema linear. Podemos obter 2n equac¸o˜es a partir da condic¸a˜o de interpolac¸a˜o F (xi) = yi e da continuidade de F . Pi(x) = yi e Pi(x) = yi−1, i = 1, · · ·n . Por exemplo, fazendo Pi(x) = aix 3 + bix 2 + cix + di obtemos as seguintes equac¸o˜es para o spline na Figura 1: P1(x0) = a1x 3 0 + b1x 2 0 + c1x0 + d1 = y0 P1(x1) = a1x 3 1 + b1x 2 1 + c1x1 + d1 = y1 P2(x1) = a2x 3 1 + b2x 2 1 + c2x1 + d2 = y1 P2(x2) = a2x 3 2 + b2x 2 2 + c2x2 + d2 = y2 P3(x2) = a3x 3 2 + b3x 2 2 + c3x2 + d3 = y2 P3(x3) = a3x 3 3 + b3x 2 3 + c3x3 + d3 = y3 P4(x3) = a4x 3 3 + b4x 2 3 + c4x3 + d4 = y3 P4(x4) = a4x 3 4 + b4x 2 4 + c4x4 + d4 = y4 (1) Pi(xi) = Pi+1(xi) para i = 1, · · · , n− 1, pela continuidade de F ′(x) temos que P ′i (xi) = P ′i+1(xi). Desta forma obtemos n− 1 equac¸o˜es. Por exemplo, para o spline da Figura 1: P ′ 1(x1) = 3a1x 2 1 + 2b1x1 + c1 = 3a2x 2 1 + 2b2x1 + c2 = P ′ 2(x1) P ′2(x2) = 3a2x 2 2 + 2b2x2 + c2 = 3a3x 2 2 + 2b3x2 + c3 = P ′ 2(x2) P ′3(x3) = 3a3x 2 3 + 2b3x3 + c3 = 3a4x 2 3 + 2b4x3 + c4 = P ′ 2(x3) (2) 1 Pela continuidade de F ′′(x) podemos obter mais n−1 equac¸o˜es, pois F ′′(xi) = F ′(xi). Por exemplo, da Figura 1 podemos obter as seguintes equac¸o˜es: P ′′ 1 (x1) = 6a1x1 + 2b1 = 6a2x1 + 2b2 = P ′′ 2 (x1) P ′′2 (x2) = 6a2x2 + 2b2 = 6a3x2 + 2b3 = P ′′ 2 (x2) P ′′3 (x3) = 6a3x3 + 2b3 = 6a4x3 + 2b4 = P ′′ 2 (x3) (3) Obtendo um total de 4n− 2 equac¸o˜es. Supondo que F ′′(x0) = 0 e F ′′(xn) = 0, teremos 4n equac¸o˜es e o sistema tera´ apenas uma soluc¸a˜o. 2 Determinando o spline cu´bico Podemos fazer a interpolac¸a˜o spline cu´bica resolvendo o sistema linear descrito na sec¸a˜o anterior. No entanto, existe uma forma mais simples para realizar esta interpolac¸a˜o. Como o spline e´ uma colec¸a˜o de polinoˆmios cu´bicos, F ′′(x) e´ uma colec¸a˜o de func¸o˜es lineares. Considerando o intervalo [xi−1, xi], o me´todo de Lagrange pode ser utilizado para determinar F ′′(x) utilizando os pontos (xi−1, F ′′(xi−1)) e (xi, F ′′(xi)) sera´ obtido F ′′(x) = (x− xi) xi−1 − xiF ′′(xi−1) + (x− xi−1) xi − xi−1 F ′′(xi) = (xi − x) xi − xi−1F ′′(xi−1) + (x− xi−1) xi − xi−1 F ′′(xi) (4) Fazendo xi − xi−1 = hi, F ′′(xi−1) = Mi−1 e F ′′(xi) = Mi, obtemos F ′′(x) = (xi − x) hi Mi−1 + (x− xi−1) hi Mi (5) Integrando a Equac¸a˜o (5), obtemos F ′(x). F ′(x) = − (xi − x) 2 2hi Mi−1 + (x− xi−1)2 2hi Mi + a (6) E integrando a Equac¸a˜o (6), obtemos F (X) F (x) = (xi − x)3 6hi Mi−1 + (x− xi−1)3 6hi Mi + ax + b. (7) Para determinar o valor de a e b usamos as condic¸o˜es de interpolac¸a˜o F (xi−1) = yi−1 e F (xi) = yi. Para facilitar os ca´lculos vamos escrever ax + b = c(xi − x) + d(x− xi−1), onde a = d− c, b = cxi − dxi−1. Dessa forma a Equac¸a˜o (7) pode ser escrita como F (x) = (xi − x)3 6hi Mi−1 + (x− xi−1)3 6hi Mi + c(xi − x) + d(x− xi−1). (8) Utilizando a condic¸a˜o F (xi−1) = yx1 , obtemos yi−1 = (xi − xi−1)3 6hi Mi−1 + (xi−1 − xi−1)3 6hi Mi + c(xi − xi−1) + d(xi−1 − xi−1) = (xi − xi−1)3 6hi Mi−1 + c(xi − xi−1)⇒ c = ( yi−1 − (xi − xi−1) 3 6hi Mi−1 ) · 1 xi − xi−1 ⇒ c = ( yi−1 − h 2 i 6 Mi−1 ) · 1 hi (9) e utilizando a condic¸a˜o F (xi) = yi, obtemos yi = (xi − xi)3 6hi Mi−1 + (xi − xi−1)3 6hi Mi + c(xi − xi) + d(xi − xi−1) = (xi − xi−1)3 6hi Mi + d(xi − xi−1)⇒ d = ( yi − (xi − xi−1) 3 6hi Mi ) · 1 xi − xi−1 ⇒ d = ( yi − h 2 i 6 Mi ) · 1 hi (10) 2 Substituindo as Equac¸o˜es (9) e (10) em (8) obtemos no intervalo [xi−1, xi] Fi(x) = (xi − x)3 6hi Mi−1 + (x− xi−1)3 6hi Mi + (xi − x) hi ( yi−1 − h 2 i 6 Mi−1 ) + (x− xi−1) hi ( yi − h 2 i 6 Mi ) . (11) Note que Mi e Mi−1 sa˜o inco´gnitas e precisam ser determinadas. Para isso considere Fi+1(x). Fi+1(x) = (xi+1 − x)3 6hi+1 Mi + (x− xi)3 6hi+1 Mi+1 + (xi+1 − x) hi+1 ( yi − h2i+1 6 Mi ) + (x− xi) hi+1 ( yi+1 − h2i+1 6 Mi+1 ) , (12) onde hi+1 = xi+1 − xi. Diferenciando as Equac¸o˜es (11) e (12), obtemos F ′i (x) = − (xi − x)2 2hi Mi−1 + (x− xi−1)2 2hi Mi + −1 hi ( yi−1 − h 2 i 6 Mi−1 ) + 1 hi ( yi − h 2 i 6 Mi ) . (13) F ′i+1(x) = − (xi+1 − x)2 2hi+1 Mi + (x− xi)2 2hi+1 Mi+1 + −1 hi+1 ( yi − h2i+1 6 Mi ) + 1 hi+1 ( yi+1 − h2i+1 6 Mi+1 ) . (14) Como F ′(x) e´ continua, enta˜o F ′i (xi) = F ′ i+1(xi) hi 2 Mi + −1 hi ( yi−1 − h 2 i 6 Mi−1 ) + 1 hi ( yi − h 2 i 6 Mi ) = hi+1 2 Mi+1 + −1 hi+1 ( yi − h2i+1 6 Mi ) + 1 hi+1 ( yi+1 − h2i+1 6 Mi+1 ) (15) Simplificando a Equac¸a˜o 15 obtemos hi 6 Mi−1 + 1 3 (hi + hi+1)Mi + hi+1 6 Mi+1 = 1 hi+1 (yi+1 − yi)− 1 hi (yi − yi−1) (16) 3
Compartilhar