Spline cúbico
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.