This table gives some values of an unknown function f ( x ) {\displaystyle f(x)} .
Plot of the data points as given in the table.
x {\displaystyle x} | f ( x ) {\displaystyle f(x)} | ||||
---|---|---|---|---|---|
0 | 0 | ||||
1 | 0 | ., | 8415 | ||
2 | 0 | . | 9093 | ||
3 | 0 | . | 1411 | ||
4 | −0 | . | 7568 | ||
5 | −0 | . | 9589 | ||
6 | −0 | . | 2794 |
Interpolation provides a means of estimating the function at intermediate points, such as x = 2.5 {\displaystyle x=2.5} .,
describimos algunos métodos de interpolación, que difieren en propiedades tales como: precisión, costo, número de puntos de datos necesarios y suavidad de la función interpolante resultante.
constante a Trozos interpolationEdit
Seccionalmente constante de interpolación, o vecino más cercano de la interpolación.
el método de interpolación más simple es localizar el valor de datos más cercano y asignar el mismo valor., En problemas simples, es poco probable que se utilice este método, ya que la interpolación lineal (véase más adelante) es casi tan fácil, pero en la interpolación multivariada de dimensiones más altas, esto podría ser una opción favorable por su velocidad y simplicidad.,ción se lleva a dos puntos de datos, decir (xa,ya) y (xb,yb), y el interpolant está dada por:
y = y + ( y b − y ) x − x a x b − x a en el punto ( x , y ) {\displaystyle y=y_{a}+\left(y_{b}-y_{un}\right){\frac {x-x_{a}}{x_{b}-x_{un}}}{\text{ en el punto }}\left(x,y\right)}
y − y y b − y a = x − x a x b − x a {\displaystyle {\frac {y-y_{a}}{y_{b}-y_{un}}}={\frac {x-x_{a}}{x_{b}-x_{un}}}}
y − y x − x a = y − b y a x b − x a {\displaystyle {\frac {y-y_{a}}{x-x_{un}}}={\frac {y_{b}-y_{a}}{x_{b}-x_{un}}}}
la interpolación Lineal es rápido y fácil, pero no es muy precisa., Otra desventaja es que el interpolante no es diferenciable en el punto xk.
la siguiente estimación de error muestra que la interpolación lineal no es muy precisa. Denotar la función que queremos interpolar por g, y supongamos que X se encuentra entre xa y xb y que g es dos veces continuamente diferenciable. Entonces el error de interpolación lineal es
/ f ( x ) − g ( x ) | ≤ c ( x b − x a ) 2 donde C = 1 8 max R ∈ | g » (r ) | . {\displaystyle / f (x)-g(x)|\leq C(x_{b} – x_{a})^{2}\quad {\text{where}}\quad C={\frac {1}{8}}\max _{r\in }|g»(r)|.,}
en palabras, el error es proporcional al cuadrado de la distancia entre los puntos de datos. El error en algunos otros métodos, incluyendo la interpolación polinómica y la interpolación spline (descrita a continuación), es proporcional a potencias más altas de la distancia entre los puntos de datos. Estos métodos también producen interpolantes más suaves.,
Polinomio interpolationEdit
Plot de los datos con un polinomio de interpolación aplicado
Polinomio de interpolación es una generalización de la interpolación lineal. Tenga en cuenta que el interpolante lineal es una función lineal. Ahora reemplazamos este interpolante con un polinomio de mayor grado.
considere de nuevo el problema dado anteriormente. El siguiente polinomio de sexto grado pasa por todos los siete puntos:
f ( x ) = − 0.,0001521 x 6 − 0.003130 x 5 + 0.07321 x 4 − 0.3577 x 3 + 0.2255 x 2 + 0.9038 x . {\displaystyle F(x) = -0.0001521 x^{6}-0.003130 x^{5}+0.07321 x^{4}-0.3577 x^{3}+0.2255 x^{2}+0.9038 x.}
sustituyendo x = 2.5, encontramos que f(2.5) = ~0.59678.
Generalmente, si tenemos n puntos de datos, hay exactamente un polinomio de grado a lo sumo n-1 pasando por todos los puntos de datos. El error de interpolación es proporcional a la distancia entre los puntos de datos a la potencia n. Además, el interpolante es un polinomio y por lo tanto infinitamente diferenciable., Por lo tanto, vemos que la interpolación polinómica supera la mayoría de los problemas de interpolación lineal.
sin embargo, la interpolación polinómica también tiene algunas desventajas. Calcular el polinomio interpolador es computacionalmente caro (véase complejidad computacional) en comparación con la interpolación lineal. Además, la interpolación polinómica puede exhibir artefactos oscilatorios, especialmente en los puntos finales (véase el fenómeno de Runge).
la interpolación polinómica puede estimar máximos y mínimos locales que están fuera del rango de las muestras, a diferencia de la interpolación lineal., Por ejemplo, la interpolante anterior tiene un máximo local en x ≈ 1.566, f(x) ≈ 1.003 y un mínimo local en x ≈ 4.708, f(x) ≈ -1.003. Sin embargo, estos máximos y mínimos pueden exceder el rango teórico de la función—por ejemplo, una función que siempre es positiva puede tener un interpolante con valores negativos, y cuyo inverso por lo tanto contiene falsas asíntotas verticales.
Más generalmente, la forma de la curva resultante, especialmente para valores muy altos o bajos de la variable independiente, puede ser contraria al sentido común, i. e., a lo que se conoce sobre el sistema experimental que ha generado los puntos de datos. Estas desventajas pueden ser reducidas usando interpolación spline o restringiendo la atención a los polinomios de Chebyshev.
Spline interpolationEdit
Plot de los datos con la spline de interpolación aplicado
Recuerde que la interpolación lineal se utiliza una función lineal para cada uno de los intervalos ., La interpolación Spline utiliza polinomios de bajo grado en cada uno de los intervalos, y elige las piezas polinómicas de modo que encajen suavemente entre sí. La función resultante se llama spline.
por ejemplo, la spline cúbica natural es cúbica por partes y dos veces continuamente diferenciable. Además, su segunda derivada es cero en los puntos finales. La spline cúbica natural interpolando los puntos en la tabla anterior está dada por
f (x) = {−0.1522 x 3 + 0.9937 x , if x ∈ , − 0.01258 x 3 − 0.4189 x 2 + 1.4126 x − 0.1396 , if x ∈ , 0.1403 x 3 − 1.3359 x 2 + 3.2467 x − 1.,3623 , if x ∈ , 0.1579 x 3 − 1.4945 x 2 + 3.7225 x − 1.8381 , if x ∈ , 0.05375 x 3 − 0.2450 x 2 − 1.2756 x + 4.8259 , if x ∈ , − 0.1871 x 3 + 3.3673 x 2 − 19.3370 x + 34.9282 , if x ∈ . {\displaystyle f(x)={\begin{cases}-0.1522x^{3}+0.9937x,&{\text{if }}x\in ,\\-0.01258x^{3}-0.4189x^{2}+1.4126x-0.1396,&{\text{if }}x\in ,\\0.1403x^{3}-1.3359x^{2}+3.2467x-1.3623,&{\text{if }}x\in ,\\0.1579x^{3}-1.4945x^{2}+3.7225x-1.8381,&{\text{if }}x\in ,\\0.05375x^{3}-0.2450x^{2}-1.2756x+4.,8259,&{\text{if }}x\in ,\\-0.1871 x^{3}+3.3673 x^{2}-19.3370 x+34.9282,& {\text{if }}x\in .\end {cases}}}
en este caso obtenemos f ( 2.5) = 0.5972.
al igual que la interpolación polinómica, la interpolación spline incurre en un error menor que la interpolación lineal, mientras que el interpolante es más suave y más fácil de evaluar que los polinomios de alto grado utilizados en la interpolación polinómica. Sin embargo, la naturaleza global de las funciones básicas conduce al mal condicionamiento., Esto se mitiga completamente mediante el uso de splines de soporte compacto, como se implementan en Boost.Matemáticas y discutido en Kress.