Edición de «Interpolación (Métodos Numéricos)»

De Cuba-Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 1: Línea 1:
Muchas veces nos encontramos con un conjunto de puntos <math>(x_i, f(x_i))</math> que
Muchas veces nos encontramos con un conjunto de puntos $(x_i, f(x_i))$ que
provienen de una función desconocida <math>f</math> y nos gustaría poder ``estimar''
provienen de una función desconocida $f$ y nos gustaría poder ``estimar''
el valor de la función en algún punto <math>\xi \in [x_0,x_n]</math> para el cual no tenemos datos.
el valor de la función en algún punto $\xi \in [x_0,x_n]$ para el cual no tenemos datos.
Otra razón para interpolar puede ser que la función original es demasiado complicada
Otra razón para interpolar puede ser que la función original es demasiado complicada
para tratar con ella y queremos simplificarla tomando sólo la información contenida
para tratar con ella y queremos simplificarla tomando sólo la información contenida
en algunos puntos y "sintetizando" una función más simple.
en algunos puntos y ``sintetizando'' una función más simple.
Las funciones interpoladoras hacen justamente lo que estamos buscando.
Las funciones interpoladoras hacen justamente lo que estamos buscando.


Línea 15: Línea 15:
para intervalos medianamente grandes.
para intervalos medianamente grandes.


\subsection{Polinomio interpolador de Lagrange}


==Polinomio interpolador de Lagrange==
A partir de $n+1$ puntos ${x_0,x_1,\dots,x_n}$ podemos obtener
 
A partir de <math>n+1</math> puntos <math>{x_0,x_1,\dots,x_n}</math> podemos obtener
el polinomio de menor grado que pasa por todos ellos.
el polinomio de menor grado que pasa por todos ellos.
Se construye un cociente <math>L_{n,k}(x)</math> con la propiedad de que <math>L_{n,k}(x_{i})=0</math>
Se construye un cociente $L_{n,k}(x)$ con la propiedad de que $L_{n,k}(x_{i})=0$
cuando <math>i\neq k</math> y <math>L_{n,k}(x_k)=1</math>. Un polinomio que
cuando $i\neq k$ y $L_{n,k}(x_k)=1$. Un polinomio que
cumple esto es el siguiente:
cumple esto es el siguiente:
 
\begin{displaymath}
 
L_{n,k}(x) =
<center><math>L_{n,k}(x) =\frac{(x-x_{0})(x-x_{1})\cdots(x-x_{k-1})(x-x_{k+1})\cdots(x-x_{n})}{(x_{k}-x_{0})(x_{k}-x_{1})\cdots(x_{k}-x_{k-1})(x_{k}-x_{k+1})\cdots(x_{k}-x_{n})} = \prod_{\stackrel{i=0}{i\neq k}}^{n}\frac{(x-x_{i})}{(x_{k}-x_{i})}
\frac{(x-x_{0})(x-x_{1})\cdots(x-x_{k-1})(x-x_{k+1})\cdots(x-x_{n})}{(x_{k}-x_{0})(x_{k}-x_{1})\cdots(x_{k}-x_{k-1})(x_{k}-x_{k+1})\cdots(x_{k}-x_{n})} =  
</math></center>
\prod_{\stackrel{i=0}{i\neq k}}^{n}\frac{(x-x_{i})}{(x_{k}-x_{i})}
\end{displaymath}


\begin{figure}[h]
\begin{figure}[h]
\centering
\centering
\includegraphics[width=12cm]{burdenlnk.png}
\includegraphics[width=12cm]{burdenlnk.png}
\caption{Polinomio <math>L_{n,k}(x)</math>.}
\caption{Polinomio $L_{n,k}(x)$.}
\end{figure}
\end{figure}


=== Teorema ===
\begin{theorem}
Si <math>{x_0,x_1,\dots,x_n}</math> son <math>n+1</math> números distintos y si <math>f</math>
Si ${x_0,x_1,\dots,x_n}$ son $n+1$ números distintos y si $f$
es una función cuyos valores están dados en esos números, entonces
es una función cuyos valores están dados en esos números, entonces
'''existe''' un '''único''' polinomio <math>P</math> de grado a lo sumo <math>n</math>, con la propiedad
\textbf{existe} un \textbf{único} polinomio $P$ de grado a lo sumo $n$, con la propiedad
de que <math>f(x_{k})=P(x_{k})</math> para <math>k=0,\ldots,n</math>. Este polinomio está dado
de que $f(x_{k})=P(x_{k})$ para $k=0,\ldots,n$. Este polinomio está dado
por:
por:
\begin{displaymath}
P(x)=\sum_{k=0}^{n}f(x_i)L_{n,k}(x)
\end{displaymath}
\end{theorem}


 
\begin{theorem}
<center><math>P(x)=\sum_{k=0}^{n}f(x_i)L_{n,k}(x)</math></center>
Sean ${x_0,x_1,\dots,x_n}$ en $[a,b]$, $f \in C^{n+1}[a,b]$
 
entonces para todo $x$ en $[a,b]$,
 
existe $\xi$ en $[a,b]$, que depende de $x$, tal que:
 
\begin{displaymath}
=== Teorema ===
f(x)=P(x)+\frac{f^{(n+1)}(\xi(x))}{(n+1)!}\prod_{i=0}^n(x - x_i)
Sean <math>{x_0,x_1,\dots,x_n}</math> en <math>[a,b]</math>, <math>f \in C^{n+1}[a,b]</math>
\end{displaymath}
entonces para todo <math>x</math> en <math>[a,b]</math>,
\end{theorem}
existe <math>\x_i</math> en <math>[a,b]</math>, que depende de <math>x</math>, tal que:
 
 
<center><math>f(x)=P(x)+\frac{f^{(n+1)}(\xi(x))}{(n+1)!}\prod_{i=0}^n(x - x_i)</math></center>
 
 


El uso de los polinomios de Lagrange plantea dos problemas inmediatos:
El uso de los polinomios de Lagrange plantea dos problemas inmediatos:
uno es que el término del error es difícil de aplicar. El otro problema
uno es que el término del error es difícil de aplicar. El otro problema
es que teniendo una aproximación de grado <math>n</math>, si se quiere obtener
es que teniendo una aproximación de grado $n$, si se quiere obtener
ahora la de grado <math>n+1</math>, no hay forma de aprovechar los cálculos
ahora la de grado $n+1$, no hay forma de aprovechar los cálculos
ya hechos para ahorrar trabajo en el cálculo del nuevo polinomio.
ya hechos para ahorrar trabajo en el cálculo del nuevo polinomio.
Como el polinomio es único, veremos que se puede encontrar otra forma
Como el polinomio es único, veremos que se puede encontrar otra forma
Línea 65: Línea 63:
costo tan alto.
costo tan alto.


=== Definición ===
\begin{definition}
Sean <math>k</math> números enteros distintos <math>m_1,\dots,m_k</math> que cumplen
Sean $k$ números enteros distintos $m_1,\dots,m_k$ que cumplen
<math>0 \le m_i \le n</math> para cada <math>i</math>, se define a
$0 \le m_i \le n$ para cada $i$, se define a
<math>P_{m_{1},m_{2},\dots,m_{k}}(x)</math> como el polinomio interpolante en
$P_{m_{1},m_{2},\dots,m_{k}}(x)$ como el polinomio interpolante en
los puntos <math>x_{m_{1}},x_{m_{2}},\dots,x_{m_k}</math>.
los puntos $x_{m_{1}},x_{m_{2}},\dots,x_{m_k}$.
 
\end{definition}
 
=== Teorema recinterpol ===
Sea <math>f</math> definida en <math>n+1</math> puntos distintos <math>x_{0},\dots,x_{n}</math>
con <math>x_i</math> y <math>x_j</math> dos puntos del conjunto distintos entre si
y <math>P(x)</math> el polinomio de Lagrange de grado a lo sumo <math>n</math> que interpola a <math>f</math>
en esos <math>n+1</math> puntos, entonces el polinomio puede expresarse como
 
 
<center><math>P(x)=\frac{(x-x_{j})P_{0,1,\dots,j-1,j+1,\ldots,n}(x)-(x-x_{i})P_{0,1,\dots,i-1,i+1,\ldots,n}(x)}{(x_{i}-x_{j})}</math></center>


\begin{theorem}
\label{recinterpol}
Sea $f$ definida en $n+1$ puntos distintos $x_{0},\dots,x_{n}$
con $x_i$ y $x_j$ dos puntos del conjunto distintos entre si
y $P(x)$ el polinomio de Lagrange de grado a lo sumo $n$ que interpola a $f$
en esos $n+1$ puntos, entonces el polinomio puede expresarse como
$$P(x)=\frac{(x-x_{j})P_{0,1,\dots,j-1,j+1,\ldots,n}(x)-(x-x_{i})P_{0,1,\dots,i-1,i+1,\ldots,n}(x)}{(x_{i}-x_{j})}$$
\end{theorem}


De acuerdo con el '''Teorema recinterpol''',
De acuerdo con el \textbf{Teorema \ref{recinterpol}},
los polinomios interpolantes pueden generarse
los polinomios interpolantes pueden generarse
de manera recursiva aprovechando polinomios ya calculados.
de manera recursiva aprovechando polinomios ya calculados.


\subsection{Forma de Newton del polinomio interpolador}


==Forma de Newton del polinomio interpolador==
\begin{definition}
La diferencia dividida cero de <math>f</math> respecto
a <math>x_{i}</math> se define como


=== Definición ===
<math>f[x_{i}]= f(x_{i})</math>
La diferencia dividida cero de <math>f</math> respecto
a <math>x_{i}</math> se define como <math>f[x_{i}]= f(x_{i})</math>


y la k-ésima diferencia
y la k-ésima diferencia
dividida relativa a <math>x_{i}, x_{i+1},\dots,x_{i+k}</math> está dada por
dividida relativa a <math>x_{i}, x_{i+1},\dots,x_{i+k}</math> está dada por


<center><math>f[x_{i},x_{i+1},\dots,x_{i+k}]=\frac{f[x_{i+1},x_{i+2},\dots,x_{i+k}]-f[x_{i},x_{i+1},\dots,x_{i+k-1}]}{x_{i+k}-x_{i}}</math> </center>
<math>f[x_{i},x_{i+1},\dots,x_{i+k}]=\frac{f[x_{i+1},x_{i+2},\dots,x_{i+k}]-f[x_{i},x_{i+1},\dots,x_{i+k-1}]}{x_{i+k}-x_{i}}</math>


\end{definition}


\begin{theorem}
Se puede demostrar que el polinomio interpolador $P_{n}(x)$ se puede expresar como


=== Teorema ===
<math>P_{n}(x)=a_{0}+a_{1}(x-x_{0})+a_{2}(x-x_{0})(x-x_{1})+\dots+a_{n}(x-x_{0})(x-x_{1})\cdots(x-x_{n-1})</math>
Se puede demostrar que el polinomio interpolador <math>P_{n}(x)</math> se puede expresar como
 
<center><math>P_{n}(x)=a_{0}+a_{1}(x-x_{0})+a_{2}(x-x_{0})(x-x_{1})+\dots+a_{n}(x-x_{0})(x-x_{1})\cdots(x-x_{n-1})</math></center>


donde <math>a_{k}=f[x_{0},\dots,x_{k}]</math>.
donde <math>a_{k}=f[x_{0},\dots,x_{k}]</math>.
 
\end{theorem}


Usando esta definición se puede ir armando el polinomio interpolador
Usando esta definición se puede ir armando el polinomio interpolador
Línea 118: Línea 116:
\end{figure}
\end{figure}


 
\subsection{Splines}
==Splines==


Los polinomios tienen una gran desventaja como interpoladores y es
Los polinomios tienen una gran desventaja como interpoladores y es
Línea 133: Línea 130:
se tiene la seguridad de que haya diferenciabilidad en los extremos
se tiene la seguridad de que haya diferenciabilidad en los extremos
de los subintervalos lo cual geométricamente significa que la función
de los subintervalos lo cual geométricamente significa que la función
interpolante no es "suave" en esos puntos.
interpolante no es ``suave'' en esos puntos.


El tipo más simple de función de polinomio fragmentario diferenciable
El tipo más simple de función de polinomio fragmentario diferenciable
en un intervalo entero <math>[x_{0},x_{n}]</math> es la función obtenida al
en un intervalo entero $[x_{0},x_{n}]$ es la función obtenida al
ajustar un polinomio cuadrático entre cada par consecutivo de nodos.
ajustar un polinomio cuadrático entre cada par consecutivo de nodos.
Esto se hace construyendo una cuadrática en <math>[x_{0},x_{1}]</math> que concuerde
Esto se hace construyendo una cuadrática en $[x_{0},x_{1}]$ que concuerde
con la función en <math>x_{0}</math> y en <math>x_{1}</math>, otra cuadrática en <math>[x_{1},x_{2}]</math>
con la función en $x_{0}$ y en $x_{1}$, otra cuadrática en $[x_{1},x_{2}]$
que concuerde con la función en <math>x_{1}</math> y en <math>x_{2}</math> y así sucesivamente.
que concuerde con la función en $x_{1}$ y en $x_{2}$ y así sucesivamente.
Un polinomio cuadrático general tiene tres constantes arbitrarias,
Un polinomio cuadrático general tiene tres constantes arbitrarias,
y únicamente se requieren dos condiciones para ajustar los datos en
y únicamente se requieren dos condiciones para ajustar los datos en
los extremos de cada intervalo, por ello existe una flexibilidad que
los extremos de cada intervalo, por ello existe una flexibilidad que
permite seleccionar la cuadrática de modo que la interpolante tenga
permite seleccionar la cuadrática de modo que la interpolante tenga
una derivada continua en <math>[x_{0},x_{n}]</math>. El problema se presenta
una derivada continua en $[x_{0},x_{n}]$. El problema se presenta
cuando hay que especificar las condiciones referentes a la derivada
cuando hay que especificar las condiciones referentes a la derivada
de la interpolante en los extremos <math>x_{0}</math> y <math>x_{n}</math>: no hay constantes
de la interpolante en los extremos $x_{0}$ y $x_{n}$: no hay constantes
suficientes para cerciorarse de que se satisfagan las condiciones.
suficientes para cerciorarse de que se satisfagan las condiciones.


Línea 160: Línea 157:
en los nodos.
en los nodos.


=== Definición ===
\paragraph{Definición:} Dada una función $f$ definida en $[a,b]$ y
Dada una función <math>f</math> definida en <math>[a,b]</math> y
un conjunto de nodos $a=x_{0}<x_{1}<\dots<x_{n}=b$ un spline cúbico
un conjunto de nodos <math>a=x_{0}<x_{1}<\dots<x_{n}=b</math> un spline cúbico
$S$ para $f$ es una función que cumple con las siguientes condiciones:
<math>S</math> para <math>f</math> es una función que cumple con las siguientes condiciones:


* <math>S(x)</math> es un polinomio cúbico denotado <math>S_{j}(x)</math> en el subintervalo <math>[x_{j},x_{j+1}]</math> para <math>j</math> de <math>0</math> a <math>n-1</math>
\begin{enumerate}
* <math>S(x_{j})=f(x_{j})</math> para <math>j</math> de <math>0</math> a <math>n</math>
\renewcommand{\labelenumi}{\alph{enumi}.}
* <math>S_{j+1}(x_{j+1})=S_{j}(x_{j+1})</math> para <math>j</math> de <math>0</math> a <math>n-2</math>
\setlength{\itemsep}{0pt}
* <math>S'_{j+1}(x_{j+1})=S'_{j}(x_{j+1})</math> para <math>j</math> de <math>0</math> a <math>n-2</math>
\item $S(x)$ es un polinomio cúbico denotado $S_{j}(x)$ en el subintervalo $[x_{j},x_{j+1}]$ para $j$ de $0$ a $n-1$
* <math>S{''}_{j+1}(x_{j+1})=S''_{j}(x_{j+1})</math> para <math>j</math> de <math>0</math> a <math>n-2</math>
\item $S(x_{j})=f(x_{j})$ para $j$ de $0$ a $n$
* Se satisface una de las siguientes condiciones de frontera:
\item $S_{j+1}(x_{j+1})=S_{j}(x_{j+1})$ para $j$ de $0$ a $n-2$
** <math>S''(x_{0})=S''(x_{n})=0</math> (spline libre o '''natural''')
\item $S'_{j+1}(x_{j+1})=S'_{j}(x_{j+1})$ para $j$ de $0$ a $n-2$
** <math>S'(x_{0})=f'(x_{0}) \textrm{\ y\ } S'(x_{n})=f'(x_{n}) </math> (spline '''sujeto''')
\item $S{''}_{j+1}(x_{j+1})=S''_{j}(x_{j+1})$ para $j$ de $0$ a $n-2$
\item{
Se satisface una de las siguientes condiciones de frontera:
\begin{itemize}
\setlength{\itemsep}{0pt}
\item $S''(x_{0})=S''(x_{n})=0$ (spline libre o \textbf{natural})
\item $S'(x_{0})=f'(x_{0}) \textrm{\ y\ } S'(x_{n})=f'(x_{n}) $ (spline \textbf{sujeto})
\end{itemize}
}
\end{enumerate}


Generalmente en las condiciones de frontera sujeta se logran aproximaciones
Generalmente en las condiciones de frontera sujeta se logran aproximaciones
Línea 180: Línea 185:
o la sujeta.
o la sujeta.


Cuando deseo interpolar un conjunto de puntos <math>x_{0},\dots,x_{n}</math>, el
Cuando deseo interpolar un conjunto de puntos $x_{0},\dots,x_{n}$, el
planteo de todas las condiciones mencionadas para <math>S(x)</math> se puede
planteo de todas las condiciones mencionadas para $S(x)$ se puede
llevar a la forma de un sistema de ecuaciones tridiagonal que queda
llevar a la forma de un sistema de ecuaciones tridiagonal que queda
en función de uno de los cuatro coeficientes de cada spline y resulta
en función de uno de los cuatro coeficientes de cada spline y resulta
ser estrictamente diagonal dominante, por lo que tiene solución única,
ser estrictamente diagonal dominante, por lo que tiene solución única,
puede almacenarse usando poco espacio y resolverse relativamente rápido.
puede almacenarse usando poco espacio y resolverse relativamente rápido.
Ten en cuenta que todas las contribuciones a Cuba-Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Cuba-Wiki:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)