Spline cúbico

De Física Computacional
Ir para navegação Ir para pesquisar

Como discutido em Fórmula de Lagrange, um inconveniente do uso desta aproximação polinomial é que não temos controle sobre a continuidade das derivadas nas junções das regiões interpoladas, ou seja, nas interfaces. Entretanto, na grande maioria dos problemas de fisica, basta garantir o bom comportamento das derivadas 1a e 2a. Por este motivo, os splines cúbicos são bastante populares.


Inicialmente, vamos considerar uma interpolação linear , válida entre os pontos e , obtida a partir da Fórmula de Lagrange:

onde

foram introduzidos por conveniência. Em aplicações nas quais as propriedades das derivadas são importantes, sérias dificuldades são encontradas com esta fórmula pois a derivada 2a é infinita nas fronteiras entre e , devido à descontinuidade da derivada 1a. Além disso, embora o coeficiente angular da reta secante entre os pontos e possa fornecer uma aproximação razoável para a derivada 1a no intervalo , a derivada segunda é nula nesta região.

Podemos resolver estas dificuldades acrescentando dois termos à expressão acima:

Como, por hipótese, dispomos apenas de uma tabela com os valores , a derivada segunda em cada ponto aparece aqui como um parâmetro. Por enquanto, vamos continuar como se fosse um dado do problema. Mais à frente, veremos como proceder. As funções precisam ser escolhidas convenientemente para se garantir que . Como estamos interessados em uma expressão cúbica, a forma funcional de já fica bastante limitada. Veremos, a seguir que:

asseguram que , uma vez que

pois


Com a introdução destes termos, a derivada de torna-se:

trazendo, claramente, contribuições lineares e quadráticas em , além do termo associado à reta secante. A derivada segunda, assume uma forma bastante simples:

com uma dependência linear em . Esta expressão mostra que as derivadas segundas possuem exatamente os valores desejados nas fronteiras, , resolvendo os problemas mencionados acima.

Para obtermos os valores de , impomos a continuidade da derivada 1a nas fronteiras entre e :

Usando as propriedades e , obtemos

que, apos agrupar os termos convenientemente, nos leva a

Uma vez que em um conjunto de pontos temos fronteiras internas, os valores de e permanecem indeterminados. Eles devem ser obtidos a partir da física do problema tratado. Em geral, os programas gráficos encontrados nas diferentes plataformas usam . Porém, esta não é a única possibilidade. De fato, quaisquer combinações das condições


e


são perfeitamente possíveis, desde que sejam consistentes com a física do problema. Se os vínculos sobre as derivadas forem escolhidos, a expressão para ou leva, respectivamente, a relações entre e ou Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;Y''_{N-1}} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;Y''_N} . A obtenção destas relações é deixada como exercício.


Deve ser observado que a solução do problema envolve a resolução de um sistema de Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;N-2} equações lineares acopladas. Este sistema de equações pode ser escrito na forma matricial da seguinte forma:


Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{pmatrix} b_{11} & b_{12} & \cdots & b_{1N} \\ b_{21} & b_{22} & \cdots & b_{2N} \\ \vdots & \vdots & \ddots & \vdots \\ b_{N1} & b_{N2} & \cdots & b_{NN} \\ \end{pmatrix} \begin{pmatrix} Y''_1\\ Y''_2\\ \vdots\\ Y''_N \end{pmatrix} = \begin{pmatrix} f_1\\ f_2\\ \vdots\\ f_N \end{pmatrix} }


onde

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle f_i=\frac{Y_{i+1}-Y_i}{X_{i+1}-X_i}-\frac{Y_i-Y_{i-1}}{X_i-X_{i-1}}\;,\;\;\;\;\; i > 1 \mbox{ e } i < N. }


Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;b_{1i}=0\;\;\;\;i>2\;\;\;\; \mbox{ e }\;\;\;\; b_{Ni} = 0\;\;\;\;i<N-1 }


e os demais elementos são apresentados logo abaixo.


Deste modo, a obtenção de Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;\{Y''_i\}} requer a inversão de uma matriz, o que é uma tarefa custosa e delicada numericamente (veja, por exemplo, Numerical Recipes). Uma vez que a equação para a i-ésima fronteira envolve apenas Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle Y_{i-1},\; Y_i \mbox{ e } Y_{i+1}} , somente as três diagonais principais da matriz acima são não nulas, isto é, Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;\mathbf{b}} é uma matriz tri-diagonal. Assim, os elementos de Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;\mathbf{b}} , excluindo-se aqueles associados às fronteiras, são dados por:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_{i,i-1}\equiv b^-_i=\frac{1}{6}(X_i-X_{i-1})\;, }

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_{i,i}\equiv b^0_i=\frac{1}{3}(X_{i+1}-X_{i-1}) }

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_{i,i+1}\equiv b^+_i=\frac{1}{6}(X_{i+1}-X_i)\;. }

Caso os vínculos nas fronteiras sejam impostos sobre Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;Y''_1} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;Y''_N} , temos

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_{1j} = \left\{\begin{matrix} 1, & \mbox{se } j=1 \\ 0, & \mbox{se } j > 1 \end{matrix}\right. }

e

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_{Nj} = \left\{\begin{matrix} 1, & \mbox{se } j=N \\ 0, & \mbox{se } j < N \end{matrix}\right. }

com Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;f_1=\lambda_1 \mbox{ e } f_N=\lambda_2} sendo os valores impostos sobre a derivada segunda nos pontos Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;X_1} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;X_N} , respectivamente. Mais uma vez, o caso em que as condições são impostas sobre a derivada 1a é deixado como exercício.

Sendo Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \;\mathbf{b}} uma matriz tri-diagonal, a solução do problema é bastante simples e é discutida na seção Eliminação gaussiana e retro-substituição.



Voltar para o índice de Métodos computacionais.