<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://fiscomp.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=Spline_c%C3%BAbico</id>
	<title>Spline cúbico - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://fiscomp.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=Spline_c%C3%BAbico"/>
	<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Spline_c%C3%BAbico&amp;action=history"/>
	<updated>2026-07-18T00:00:22Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Spline_c%C3%BAbico&amp;diff=21&amp;oldid=prev</id>
		<title>Tekkito: Criou página com &#039;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...&#039;</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Spline_c%C3%BAbico&amp;diff=21&amp;oldid=prev"/>
		<updated>2011-09-19T17:36:58Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;Como discutido em &lt;a href=&quot;/index.php?title=F%C3%B3rmula_de_Lagrange&quot; title=&quot;Fórmula de Lagrange&quot;&gt;Fórmula de Lagrange&lt;/a&gt;, um inconveniente do uso desta aproximação polinomial é que não temos controle sobre a continuidade das derivadas nas junções das...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;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 1&amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt; e 2&amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt;. Por este motivo, os splines cúbicos são bastante populares.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inicialmente, vamos considerar uma interpolação linear &amp;lt;math&amp;gt;\;P_i(x)&amp;lt;/math&amp;gt;, válida entre os pontos &amp;lt;math&amp;gt;\;X_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;X_{i+1}&amp;lt;/math&amp;gt;, obtida a partir da [[Fórmula de Lagrange]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
P_i(x)=Y_i A_i(x)+Y_{i+1} B_i(x)\;,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A_i(x)=\frac{X_{i+1}-x}{X_{i+1}-X_i} \mbox{  e    } B_i(x)=\frac{x-X_i}{X_{i+1}-X_i}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 2&amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt; é infinita nas fronteiras entre &amp;lt;math&amp;gt;\;X_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;X_{i+1}&amp;lt;/math&amp;gt;, devido à descontinuidade da derivada 1&amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt;. Além disso, embora o coeficiente angular da reta secante entre os pontos &amp;lt;math&amp;gt;\;(X_i,Y_i)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;(X_{i+1},Y_{i+1})&amp;lt;/math&amp;gt; possa fornecer uma aproximação razoável para a derivada 1&amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt; no intervalo &amp;lt;math&amp;gt;\;(X_i,X_{i+1})&amp;lt;/math&amp;gt;, a derivada segunda é nula nesta região.&lt;br /&gt;
&lt;br /&gt;
Podemos resolver estas dificuldades acrescentando dois termos à expressão acima:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
S_i(x)=Y_i A_i(x) + Y_{i+1} B_i(x) + Y&amp;#039;&amp;#039;_i C_i(x) + Y&amp;#039;&amp;#039;_{i+1} D_i(x)\;.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como, por hipótese, dispomos apenas de uma tabela com os valores &amp;lt;math&amp;gt;\;\{(X_i,Y_i)\}&amp;lt;/math&amp;gt;, a derivada segunda em cada ponto &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_i&amp;lt;/math&amp;gt; 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 &amp;lt;math&amp;gt;\;C_i(x) \mbox{ e } D_i(x)&amp;lt;/math&amp;gt; precisam ser escolhidas convenientemente para se garantir que &amp;lt;math&amp;gt;\;S_i(X_i)=Y_i&amp;lt;/math&amp;gt;. Como estamos interessados em uma expressão cúbica, a forma funcional de &amp;lt;math&amp;gt;\;C_i(x) \mbox{ e } D_i(x)&amp;lt;/math&amp;gt; já fica bastante limitada. Veremos, a seguir que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
C_i(x)=\frac{1}{6}A(x)\left[A^2(x)-1\right]\left[X_{i+1}-X_i\right]^2\; \mbox{   e  }\;&lt;br /&gt;
D_i(x)=\frac{1}{6}B(x)\left[B^2(x)-1\right]\left[X_{i+1}-X_i\right]^2&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
asseguram que &amp;lt;math&amp;gt;\;S_i(X_i)=Y_i&amp;lt;/math&amp;gt;, uma vez que&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
C_i(X_i)=D_i(X_i)=C_i(X_{i+1})=D_i(X_{i+1})=0\;&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pois&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A_i(X_i)=B_i(X_{i+1})=1\;\mbox{ e }\; A_i(X_{i+1})=B_i(X_i)=0\;.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com a introdução destes termos, a derivada de &amp;lt;math&amp;gt;\;S_i(x)&amp;lt;/math&amp;gt; torna-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{d S_i(x)}{d x}=\frac{Y_{i+1}-Y_i}{X_{i+1}-X_i}-\frac{Y&amp;#039;&amp;#039;_i}{6}\left[3A_i^2(x)-1\right](X_{i+1}-X_i)&lt;br /&gt;
                                                    +\frac{Y&amp;#039;&amp;#039;_{i+1}}{6}\left[3B_i^2(x)-1\right](X_{i+1}-X_i)                                                 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
trazendo, claramente, contribuições lineares e quadráticas em &amp;lt;math&amp;gt;\;x&amp;lt;/math&amp;gt;, além do termo associado à reta secante.&lt;br /&gt;
A derivada segunda, assume uma forma bastante simples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{d^2 S_i(x)}{d x^2}= Y&amp;#039;&amp;#039;_i A_i(x)+Y&amp;#039;&amp;#039;_{i+1}B_i(x)&lt;br /&gt;
                        = Y&amp;#039;&amp;#039;_i\frac{X_{i+1}-x}{X_{i+1}-X_i}+Y&amp;#039;&amp;#039;_{i+1}\frac{x-X_i}{X_{i+1}-X_i}\;,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
com uma dependência linear em &amp;lt;math&amp;gt;\;x&amp;lt;/math&amp;gt;. Esta expressão mostra que as derivadas segundas possuem exatamente os valores desejados nas fronteiras, &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_i&amp;lt;/math&amp;gt;, resolvendo os problemas mencionados acima.&lt;br /&gt;
&lt;br /&gt;
Para obtermos os valores de &amp;lt;math&amp;gt;\{\;Y&amp;#039;&amp;#039;_i\}&amp;lt;/math&amp;gt;, impomos a continuidade da derivada 1&amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt; nas fronteiras entre &amp;lt;math&amp;gt;\;X_{i-1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;X_i&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{d S_{i-1}(X_i)}{dx}=\frac{d S_i(X_i)}{dx}\;.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usando as propriedades &amp;lt;math&amp;gt;\;A_{i-1}(X_i)=B_i(X_i)=0&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;A_i(X_i)=B_{i-1}(X_i)=1&amp;lt;/math&amp;gt;, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{Y_i+-Y_{i-1}}{X_i-X_{i-1}}+\frac{Y&amp;#039;&amp;#039;_{i-1}}{6}(X_i-X_{i-1})&lt;br /&gt;
                                                    +\frac{Y&amp;#039;&amp;#039;_i}{3}(X_i-X_{i-1})&lt;br /&gt;
=\frac{Y_{i+1}-Y_i}{X_{i+1}-X_i}-\frac{Y&amp;#039;&amp;#039;_i}{3}(X_{i+1}-X_i)-\frac{Y&amp;#039;&amp;#039;_{i+1}}{6}(X_{i+1}-X_i)            &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que, apos agrupar os termos convenientemente, nos leva a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{Y&amp;#039;&amp;#039;_{i-1}}{6}(X_i-X_{i-1})+\frac{Y&amp;#039;&amp;#039;_i}{3}(X_{i+1}-X_{i-1})+\frac{Y&amp;#039;&amp;#039;_{i+1}}{6}(X_{i+1}-X_i) &lt;br /&gt;
=\frac{Y_{i+1}-Y_i}{X_{i+1}-X_i}-\frac{Y_i-Y_{i-1}}{X_i-X_{i-1}}\;.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez que em um conjunto de &amp;lt;math&amp;gt;\;N&amp;lt;/math&amp;gt; pontos temos &amp;lt;math&amp;gt;\;N-2&amp;lt;/math&amp;gt; fronteiras internas, os valores de&lt;br /&gt;
&amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_N&amp;lt;/math&amp;gt; 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 &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_1=Y&amp;#039;&amp;#039;_N=0&amp;lt;/math&amp;gt;. Porém, esta não é a única possibilidade. De fato, quaisquer combinações das condições &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\;Y&amp;#039;&amp;#039;_1=\lambda_1 \mbox{ ou } Y&amp;#039;_1=\zeta_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\;Y&amp;#039;&amp;#039;_N=\lambda_2 \mbox{ ou } Y&amp;#039;_N=\zeta_2&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;math&amp;gt;\;\frac{d S_{1}(X_1)}{dx}=\zeta_1&amp;lt;/math&amp;gt; ou &lt;br /&gt;
&amp;lt;math&amp;gt;\;\frac{d S_{N-1}(X_N)}{dx}=\zeta_2&amp;lt;/math&amp;gt; leva, respectivamente, a relações entre &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_1&amp;lt;/math&amp;gt;&lt;br /&gt;
e &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_2&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_{N-1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_N&amp;lt;/math&amp;gt;. A obtenção destas relações é deixada como exercício.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deve ser observado que a solução do problema envolve a resolução de um sistema de &amp;lt;math&amp;gt;\;N-2&amp;lt;/math&amp;gt; equações lineares acopladas. Este sistema de equações pode ser escrito na forma matricial da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
b_{11} &amp;amp; b_{12} &amp;amp; \cdots &amp;amp; b_{1N} \\&lt;br /&gt;
b_{21} &amp;amp; b_{22} &amp;amp; \cdots &amp;amp; b_{2N} \\&lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
b_{N1} &amp;amp; b_{N2} &amp;amp; \cdots &amp;amp; b_{NN} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
Y&amp;#039;&amp;#039;_1\\&lt;br /&gt;
Y&amp;#039;&amp;#039;_2\\&lt;br /&gt;
\vdots\\&lt;br /&gt;
Y&amp;#039;&amp;#039;_N&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
=&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
f_1\\&lt;br /&gt;
f_2\\&lt;br /&gt;
\vdots\\&lt;br /&gt;
f_N&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
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 &amp;gt; 1 \mbox{ e } i &amp;lt; N.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\;b_{1i}=0\;\;\;\;i&amp;gt;2\;\;\;\; \mbox{ e }\;\;\;\; b_{Ni} = 0\;\;\;\;i&amp;lt;N-1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
e os demais elementos são apresentados logo abaixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deste modo, a obtenção de &amp;lt;math&amp;gt;\;\{Y&amp;#039;&amp;#039;_i\}&amp;lt;/math&amp;gt; requer a inversão de uma matriz, o que é uma tarefa custosa e delicada numericamente (veja, por exemplo, [http://www.nr.com Numerical Recipes]).&lt;br /&gt;
Uma vez que a equação para a i-ésima fronteira envolve apenas &amp;lt;math&amp;gt;Y_{i-1},\; Y_i \mbox{ e } Y_{i+1}&amp;lt;/math&amp;gt;,&lt;br /&gt;
somente as três diagonais principais da matriz acima são não nulas, isto é, &amp;lt;math&amp;gt;\;\mathbf{b}&amp;lt;/math&amp;gt; é uma&lt;br /&gt;
matriz tri-diagonal.&lt;br /&gt;
Assim, os elementos de &amp;lt;math&amp;gt;\;\mathbf{b}&amp;lt;/math&amp;gt;, excluindo-se aqueles associados às fronteiras, são dados por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
b_{i,i-1}\equiv b^-_i=\frac{1}{6}(X_i-X_{i-1})\;,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
b_{i,i}\equiv b^0_i=\frac{1}{3}(X_{i+1}-X_{i-1})&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
b_{i,i+1}\equiv b^+_i=\frac{1}{6}(X_{i+1}-X_i)\;.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Caso os vínculos nas fronteiras sejam impostos sobre &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\;Y&amp;#039;&amp;#039;_N&amp;lt;/math&amp;gt;, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{1j} = \left\{\begin{matrix} &lt;br /&gt;
1, &amp;amp; \mbox{se } j=1  \\ &lt;br /&gt;
0, &amp;amp; \mbox{se } j &amp;gt; 1 \end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{Nj} = \left\{\begin{matrix} &lt;br /&gt;
1, &amp;amp; \mbox{se } j=N  \\ &lt;br /&gt;
0, &amp;amp; \mbox{se } j &amp;lt; N \end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
com &amp;lt;math&amp;gt;\;f_1=\lambda_1 \mbox{ e } f_N=\lambda_2&amp;lt;/math&amp;gt; sendo os valores impostos sobre a derivada segunda nos pontos &amp;lt;math&amp;gt;\;X_1&amp;lt;/math&amp;gt; e&lt;br /&gt;
&amp;lt;math&amp;gt;\;X_N&amp;lt;/math&amp;gt;, respectivamente. Mais uma vez, o caso em que as condições são impostas sobre a derivada 1&amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt; é deixado como exercício.&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\;\mathbf{b}&amp;lt;/math&amp;gt; uma matriz tri-diagonal, a solução do problema é bastante simples e é discutida na seção [[Eliminação gaussiana e retro-substituição]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Voltar para o índice de [[Métodos computacionais]].&lt;/div&gt;</summary>
		<author><name>Tekkito</name></author>
	</entry>
</feed>