Baixe o app para aproveitar ainda mais
Prévia do material em texto
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 16 Splines 05/2014 Aula 16 – Splines Cálculo Numérico 3/27 SPLINES Aula 16 – Splines Cálculo Numérico 4/27 ¨ Se f (x) está tabelada em (n + 1) pontos e a aproximarmos por um polinômio de grau n que a interpola sobre os pontos tabelados, o resultado pode ser desastroso. ¨ Veja o exemplo a seguir, onde aproximou-se f (x) por um polinômio de grau 5. Aula 16 – Splines Cálculo Numérico 5/27 P5 (x) f (x) Aula 16 – Splines Cálculo Numérico 6/27 ¨ Uma alternativa é interpolar f (x) em grupos de poucos pontos, obtendo-se polinômios de grau menor, e impor condições para que a função de aproximação seja contínua e tenha derivadas contínuas até uma certa ordem. Aula 16 – Splines Cálculo Numérico 7/27 Aproximação Linear por Partes ¨ Vejamos o caso de aproximação por uma por partes: Aula 16 – Splines Cálculo Numérico 8/27 Aproximação linear por partes ¨ Observe que a função S1 (x) é contínua, mas não é derivável em (x0, x4), uma vez que S1’ (x) não existe para x = xi , 1 ≤ i ≤ 3. Aula 16 – Splines Cálculo Numérico 9/27 ¨ Podemos optar também por, a cada três pontos (xi , xi+1 , xi+2) passar um e, neste caso, teremos também garantia só de continuidade da função que vai aproximar f (x). Aula 16 – Splines Cálculo Numérico 10/27 ¨ No caso das funções , a opção feita é aproximar a função tabelada, em cada subintervalo [xi , xi+1], por um polinômio de grau p, com algumas imposições. Aula 16 – Splines Cálculo Numérico 11/27 Definição ¨ Considere a função f (x), definida em [a, b] e tabela nos pontos: a = x0 < x1 < ... < xn = b ¨ Uma função Sp (x) é denominada com nós nos pontos xi , i = 0, 1, ..., n , se satisfaz as seguintes condições: Aula 16 – Splines Cálculo Numérico 12/27 Definição ¨ Em cada subintervalo [xi , xi+1], i = 0, 1, ..., (n – 1), Sp (x) é um polinômio de grau p: sk (x); ¨ Sp (x) é contínua e tem derivada contínua até ordem (p – 1) em [a, b]. ¨ Se além disso, Sp (x) também satisfaz a condição: ¤ Sp (xi) = f (xi), i = 0, 1, ..., n , ENTÃO, SERÁ DENOMINADA Aula 16 – Splines Cálculo Numérico 13/27 Spline Linear Interpolante ¨ A função de f (x), S1 (x), nos nós x0 , x1 , ... , xn pode ser escrita em cada subintervalo [xi-1 , xi], i = 1, 2, ..., n, como: si x( ) = f xi−1( ) xi − x xi − xi−1 + f xi( ) x − xi−1 xi − xi−1 , ∀ x ∈ xi−1, xi[ ] Aula 16 – Splines Cálculo Numérico 14/27 EXEMPLO 1 ¨ Achar a função spline linear que interpola a função tabelada: i 0 1 2 3 xi 1 2 5 7 f(xi) 1 2 3 2,5 Aula 16 – Splines Cálculo Numérico 15/27 EXEMPLO 1 ¨ Assim: S1 x( ) = x, se x ∈ xi−1, xi[ ] 1 3 x + 4( ), se x ∈ xi−1, xi[ ] 1 2 −0,5x +8,5( ), se x ∈ xi−1, xi[ ] # $ % % % & % % % Aula 16 – Splines Cálculo Numérico 16/27 Spline Cúbica Interpolante ¨ Uma , S3 (x), é uma função polinomial por partes, contínua, onde cada parte, sk (x), é um no intervalo [xk-1 , xk], k = 1, 2, ..., n. Aula 16 – Splines Cálculo Numérico 17/27 Definição de Spline Cúbica ¨ Supondo que f (x) esteja tabelada nos pontos xi , i = 0, 1, 2, ..., n, a função S3 (x) é chamada de f (x) nos nós xi , se existem n polinômios de grau 3, sk (x), k = 1, 2, ... , n, tais que: i) S3 (x) = sk (x) para , k = 1, ..., n; ii) S3 (xi) = f (xi), i = 0, 1, ..., n; iii) sk (xk) = sk+1 (xk), k = 1, 2, ..., (n - 1); iv) s’k (xk) = s’k+1 (xk), k = 1, 2, ..., (n - 1); v) s”k (xk) = s”k+1 (xk), k = 1, 2, ..., (n – 1). ¨ x ∈ xk−1, xk[ ] Aula 16 – Splines Cálculo Numérico 18/27 Aula 16 – Splines Cálculo Numérico 19/27 ¨ Para simplicidade de notação, escreveremos: ¨ Assim, o cálculo de S3 (x) exige a determinação de 4 coeficientes para cada k , num total de : a1, b1, c1, d1, a2, b2, ... , an, bn, cn, dn sk x( ) = ak x − xk( ) 3 + bk x − xk( ) 2 + ck x − xk( )+ dk, k =1,2,!,n Aula 16 – Splines Cálculo Numérico 20/27 ¨ Impondo as condições para que S3 (x) seja spline interpolante de f em x0, ..., xn, teremos: ¤ (n + 1) condições para que S3 (x) interpole f (x) nos nós; ¤ (n – 1) condições para que S3 (x) esteja bem definida nos nós (continuidade de S3 (x) em [x0 , xn]); ¤ (n – 1) condições para que S3’(x) seja contínua em [x0, xn]; e ¤ (n – 1) condições para que S3” (x) seja contínua em [x0, xn]. ¨ Totalizando: n + 1 + 3(n – 1) = . Aula 16 – Splines Cálculo Numérico 21/27 ¨ Como precisamos determinar 4n coeficientes, precisamos de , para determinar todos os coeficientes: a1, b1, c1, d1, a2, b2, ... , an, bn, cn, dn ¨ Essas condições podem ser impostas de acordo com informações físicas do problema. Aula 16 – Splines Cálculo Numérico 22/27 ¨ Podemos supor: ¤ S3”(x0) = g0 = 0 e S3”(xn) = gn = 0, que é chamada , que é equivalente a supor que os polinômios cúbicos nos intervalos extremos ou são ; ¤ g0 = g1, gn = gn-1, que é equivalente a supor que as cúbicas são aproximadamente , nos extremos; ¤ Impor valores para as inclinações em cada extremo, o que fornecerá duas equações adicionais. Aula 16 – Splines Cálculo Numérico 23/27 ¨ Para satisfazer as condições de (i) à (v) de uma spline interpolante de f em x0, ..., xn. ¨ Usando as notações sk” (xk) = gk e f (xk) = yk, teremos: ¨ Vemos que os coeficientes estão relacionados com gj = sj”(xj). ak = gk − gk−1 6hk , bk = gk 2 , ck = yk − yk−1 hk + 2hkgk + gk−1hk 6 " # $ % & ', dk = yk Aula 16 – Splines Cálculo Numérico 24/27 ¨ Para obter gj , ainda da condição (iv) (sk’(xk) = s’k+1 (xk), k = 1, 2, ..., (n - 1)), teremos: que é um sistema de equações lineares com (n – 1) equações (k = 1, ..., (n – 1)) e (n + 1) incógnitas: g0, g1, gn-1, gn . hkgk−1 + 2 hk + hk+1( )gk + hk+1gk+1 = 6 yk+1 − yk hk+1 − yk − yk−1 hk " # $ % & ' Aula 16 – Splines Cálculo Numérico 25/27 ¨ Temos, então, um sistema indeterminado, Ax = b, onde x = (g0, g1, ..., gn)T. A = h1 2 h1 + h2( ) h2 h2 2 h2 + h3( ) h3 ! ! ! hn−1 2 hn−1 + hn( ) hn " # $ $ $ $ $$ % & ' ' ' ' '' n−1( )× n+1( ) Aula 16 – Splines Cálculo Numérico 26/27 b = 6 y2 − y1 h2 − y1 − y0 h1 y3 − y2 h3 − y2 − y1 h2 ! yn − yn−1 hn − yn−1 − yn−2 hn−1 " # $ $ $ $ $ $ $ $$ % & ' ' ' ' ' ' ' '' n−1( )×1 Aula 16 – Splines Cálculo Numérico 27/27 ¨ Para resolvermos este sistema, vimos que são necessárias mais duas condições. ¨ No caso da , ou seja, S3”(x0) = g0 = 0 e S3”(xn) = gn = 0 A = 1 0 0 0 ! 0 h1 2 h1 + h2( ) h2 h2 2 h2 + h3( ) h3 ! ! ! hn−1 2 hn−1 + hn( ) hn 0 0 0 0 ! 1 " # $ $ $ $ $ $ $ $ % & ' ' ' ' ' ' ' ' n−1( )× n+1( ) Aula 16 – Splines Cálculo Numérico 28/27 b = 6 0 y2 − y1 h2 − y1 − y0 h1 y3 − y2 h3 − y2 − y1 h2 ! yn − yn−1 hn − yn−1 − yn−2 hn−1 0 " # $ $ $ $ $ $ $ $ $ $ $ $ % & ' ' ' ' ' ' ' ' ' ' ' ' n−1( )×1 Aula 16 – Splines Cálculo Numérico 29/27 EXEMPLO 2 ¨ Vamos encontrar uma aproximação para f (0,25) por spline cúbica natural interpolante da tabela: x 0 0,5 1,0 1,5 2,0 f (x) 3 1,8616 -0,5571 -4,1987 -9,0536 Aula 16 – Splines Cálculo Numérico 30/27 EXEMPLO 2 ¨ Como queremos a spline cúbica natural, g0= g4 = 0, e lembrando que h = xi – xi-1 = 0,5, o sistema a ser resolvido será: 4h h 0 h 4h h 0 h 4h ! " # # # $ % & & & g1 g2 g3 ! " # # # # $ % & & & & = 6 h y2 − 2y1 + y0 y3 − 2y2 + y1 y4 − 2y3 + y2 ! " # # # # $ % & & & & Aula 16 – Splines Cálculo Numérico 31/27 EXEMPLO 2 ¨ Substituindo os valores para h e yi , 0 ≤ i ≤ 4: ¨ Resolvendo pelo Método de Eliminação de Gauss: 2 0,5 0 0, 5 2 0, 5 0 0, 5 2 ! " # # # $ % & & & g1 g2 g3 ! " # # # # $ % & & & & = −15,3636 −14,6748 −14,5598 ! " # # # $ % & & & g3 = −6,252; g2 = −4,111; g1 = −6,6541 Aula 16 – Splines Cálculo Numérico 32/27 EXEMPLO 2 ¨ Levando estes valores em ak , bk , ck , dk , encontramos s1 (x), s2 (x), s3 (x) e s4 (x). ¨ Como queremos uma aproximação para f (0,25), f (0,25) ≈ s1 (0,25) onde: s1 x( ) = a1 x − x1( ) 3 + b1 x − x1( ) 2 + c1 x − x1( )+ d1 a1 = g1 − g0 6h = −2,2180 Aula 16 – Splines Cálculo Numérico 33/27 EXEMPLO 2 ¨ Assim, por spline cúbica natural interpolante: b1 = g1 2 = −3,3270 c1 = y1 − y0 h + 2hg1 + g0h 6 = −3,3858 d1 = y1 =1,8616 f 0,25( ) ≈ s1 0, 25( ) = 2,5348
Compartilhar