Prévia do material em texto
1/12/2008 1 FUNDAÇÃO UNIVERSIDADE FEDERAL DE RONDÔNIA NCT-NÚCLEO DE CIÊNCIA E TECNOLOGIA DENFI-DEPARTAMENTO DE ENGENHARIA E FISÍCA DOCENTE: PROF. º Dr. Carlos Tenório DISCIPLINA : CÁLCULO NUMÉRICO ALMIR MARCELO OLIVEIRA VIANA SÉRGIO ROBERTO JOSINO DE ALMEIDA INTERPOLAÇÃO POR SPLINESPLINE INTERPOLAÇÃO SPLINE A interpolação é um processo constantemente presente nos trabalhos de computação gráfica, uma b i l l i é i dboa interpolação resolve os critérios de cor e aparência dos objetos. Antigamente, a forma final aproximada ou completa de uma curva em um projeto, como o casco de um navio ou o perfil da fuselagem de um avião, podia ser obtida através de um processo chamado INTERPOLAÇÃO SPLINE “lofting”(soteamento), que consistia na utilização de uma barra longa e estreita fabricada com um material resistente a esforços transversais e longitudinais, como madeira ou plástico. Esta barra era modelada no formato de uma curva desejada aplicando-se tensões ao longo da barra com pesos e suportes de condução denominados “ducks”(patos). INTERPOLAÇÃO SPLINE A origem do nome spline vem de uma régua elástica, usada em desenhos de engenharia, que pode ser curvada de forma a passar por um dado conjunto de t ( ) t d li S b t INTERPOLAÇÃO SPLINE pontos (xi,yi), que tem o nome de spline. Sob certas hipóteses a curva definida pela régua pode ser descrita aproximadamente como sendo uma função por partes, cada qual um polinômio cúbico, de tal forma que ela e suas duas primeiras derivadas são contínuas sempre. A terceira derivada, entretanto, pode ter descontinuidades nos pontos xi. Tal função é uma spline cúbica interpolante com nós nos pontos x i, 1/12/2008 2 INTERPOLAÇÃO SPLINE Temos uma f(x) tabelada em (n-1) pontos dependendo do método empregado para solucionar o problema. A alternativap então é interpolar a f(x) em pequenos grupos de poucos pontos, obtendo polinômios com graus menores mantendo assim a continuidade da função de aproximação quanto de suas derivadas. INTERPOLAÇÃO SPLINE Vemos que a função S1(x) é contínua, mas não é derivável em todo o intervalo (x0, x4), uma vez que S´ 1(x) não existe para x = xi, 1 ≤ i ≤ 3. INTERPOLAÇÃO SPLINE Optando para cada 3 pontos: xi, xi+1, xi+2, passa um polinômio de grau 2 teremos garantia de continuidade da função que irá aproximar f(x). INTERPOLAÇÃO SPLINE No caso da função S1(X), foi feita uma aproximação da função tabelada nos subintervalos [x i, x i+1], por um polinômio de grau p . INTERPOLAÇÃO SPLINE Definindo então: Considere a função f(x) tabelada nos pontos x0 < x1 < ... < xn. Uma função Sp(x) é denominada spline de grau p com nós nos pontos x i, i = 0, 1, ..., n, se satisfaz as seguintes condições: a) em cada subintervalo [xi, xi+1], i = 0, 1, ..., (n – 1), Sp(x) é um ô [ , ], , , , ( ), ( ) polinômio de grau p: sp(x). b) Sp(x) é contínua e tem derivada contínua até ordem (p – 1) em [a, b]. Se, além disto, Sp(x) também satisfaz a condição: c) Sp(xi) = f(xi), i = 0, 1, ..., n, então será denominada spline interpolante. TIPOS DE INTERPOLAÇÃO POR SPLINE ¾SPLINE LINEAR Á¾SPLINE QUADRÁTICA ¾SPLINE CÚBICA 1/12/2008 3 SPLINE LINEAR A função linear interpolante de f(x), S1(x) de x0, x1, ..., x n , em cada subintervalo [xi–1, xi], i = 1, 2, ..., n é: SPLINE LINEAR Verificação: a) S1(x) é polinômio de grau 1 em cada subintervalo [xi–1,xi], por definição; b) S1(x) é contínua em (xi–1, xi), por definição, e, nos nós xi, realmente S1 está bem definida pois:realmente S1 está bem definida, pois: si(xi) = si+1(xi) = f(xi) → S1(x) é contínua em [a, b] e, portanto, S1(x) é spline linear; c) S1(xi) = si(xi) = f(xi) Þ S1(x) é spline linear interpolante de f(x) nos nós x 0, x1, ..., xn. SPLINE LINEAR Exemplo 1 Achar a função spline linear que interpola a função tabelada: SPLINE LINEAR SPLINE LINEAR SPLINE LINEAR Para s2(x) então: 1/12/2008 4 SPLINE LINEAR Finalizando então com s3(x) temos: SPLINE CÚBICA A spline linear apresenta a desvantagem de ter derivada primeira descontínua nos nós. Por esta razão, as splines cúbicas são mais usadas. Uma spline cúbica S3(x) é uma função polinomialUma spline cúbica, S3(x), é uma função polinomial por partes, contínua, onde cada parte, sk(x), é um polinômio de grau 3 no intervalo [x k–1, xk], k = 1, 2, ..., n. S3(x) tem a primeira e segunda derivadas contínuas, o que faz com que a curva S3(x) não tenha picos e nem troque abruptamente de curvatura nos nós. SPLINE CÚBICA Reescrevendo a definição: Uma spline cúbica, S3(x) , é uma função polinomial por partes, contínua, onde cada parte ( ) é um polinômio de grau 3 noparte, sk(x), é um polinômio de grau 3 no intervalo [x k–1, xk], k = 1, 2, ..., n. Para que isso seja verdade temos q satisfazer 5 condições que seguem abaixo: SPLINE CÚBICA i) S3(x) = sk(x) para x Є [xk–1, xk], k = 1, ..., n ii) S3(x i) = 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) Simplificando a notação temos: s k(x) = a k(x –xk)³ + bk(x – xk) ²+ c k(x – xk) + dk, k =1, 2,..., n. Assim teremos que encontrar 4 coeficientes para cada valor de k num total de 4n coeficientes: a1, b1, c1, d1, a2, b2, ...,an, bn, cn, dn. Com as seguintes condições para S3(x) interpolar a f(x) em x0 xn:Com as seguintes condições para S3(x) interpolar a f(x) em x0....,xn: (n + 1) nos nós; (n – 1) para continuidade nos nós; (n – 1) para S’3(x) contínua [x0, xn]; (n – 1) para S’’3(x) contínua [x0, xn] sendo assim 4n -2 condições. Portanto temos duas condições em aberto que vão depender das informações de cada problema. Como resolver uma spline Cúbica Conforme a definição de s k(x) = a k(x –xk)³ + bk(x – xk) ²+ ck(x – xk) + dk, k =1, 2,..., n. Para impor a condição (ii) montamos, para k = 1, ..., n, as equações: 1/12/2008 5 A condição (iii) é satisfeita através das (n – 1) equações: para k = 1, ..., (n – 1),sk+1(xk) = f(xk), ou seja: Para impor as condições (iv) e (v), precisaremos das derivadas das sk(x): s k(x) = a k(x –xk)³ + bk(x – xk) ²+ ck(x – xk) + dk, k =1, 2,..., n. Como vemos que s’’k (x)= 2bk. Então cada coeficiente de bk pode ser escrito em função de s’’k (x): Analogamente s’’k(xk – 1) = - 6akhk + 2bk. impondo agora a condição (v), (s’’k (xk – 1) = s’’k - 1 (xk – 1), temos que: Observa-se no caso de k = 1, intruduz-se mais uma variável arbitrária, s’’0(x0) Uma vez que dk = f(xk) e já encontramos ak e bk vamos utilizar as equações (2) e (3) para encontrar os termos de ck.também em função das suas derivadas segundas, temos: Usando mais notações s’’k(xk) = gk e f(xk) = yk teremos: Assim para k = 1, 2,..., n.,podemos calcular todos os coeficientes de sk(x) em função de gj = s’’j(xj), j = 0,1,..., n. Impondo a condição (iv) que ainda não foi utilizada, s’k(xk) = s’k + 1(xk), k = 1, 2,..., (n – 1) temos: donde Usando as equações (9), (10) e (11) 1/12/2008 6 Encontramos: Agrupando os termos semelhantes com k = 1,...,n – 1, Encontraremos (13) Que é um sistema de equações lineares com (n -1) equações (k = 1, ...,(n – 1)) e (n + 1) incógnitas: g0, g1, ..., gn e, portanto Ax = b onde x = (g0, g1, ..., gn)transposta Para resolvermos este sistema teremos que impor algumas alternativas, daí poderemos determinar ak, bk, ck e dk para cada sk(x) EXEMPLO 2 Vamos encontrar uma aproximação para f(0.25) por spline cúbica natural, interpolante da tabela: Temos 4 subdivisões do intervalo[0, 2.0], donde n = 4, e portanto temos de determinar s1(x), s2(x), s3(x) e s4(x) resolvendo, para 1 ≤ k ≤ 3 (n – 1 = 3). hk = h = 0.5, o sistema fica: Como estamos procurando a spline cúbica natural, g0 = g4 = 0, entãotemos: Substituindo os valores de h e yi, 0 ≤ i ≤ 4, e encontraremos os valores de g1, g2 e g3. 1/12/2008 7 Subistituimos os valores em ak, bk, ck e dk, encontrando assim s1(x), s2(x), s3(x) e s4(x). Como queremos a aproximação para f(0.25), e f(0.25) ≈ s1(0.25) e s1(x) = a1(x –x1)³ + b1(x – x1) ²+ c1(x – xk) + d1 usando: Daí temos que s1(0.25) é: Como f(0.25) ≈ s1(0.25) então: REFERÊNCIAS Claudio, Dalcídio Morais. Calculo NuméricoComputacional, Teoria e Prática. 2ª ed..São Paulo: Atlas,1994. Ruggiero, M. A. G. & Lopes, V. L., Cálculo Numérico: aspectos teóricos e computacionais. Disponívelp em<http://wwwp.fc.unesp.br/~arbalbo/Iniciacao_Cientifica/interpolacao/teoria/ 3_Splines.pdf>. Acesso em 20 out. 2008. Disponível em<http://w3.impa.br/~lvelho/i3d07/demos/claudino/splines.html>. Acesso em 20 out. 2008. Disponível em<http://w3.impa.br/~lvelho/i3d07/demos/claudino/sec1.html>. Acesso em 20 out. 2008.