> ## Documentation Index
> Fetch the complete documentation index at: https://apuntes.simulab.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Interpolación polinómica: Lagrange, Newton y splines

> Interpolación de datos: polinomio de Lagrange, diferencias divididas de Newton, error de interpolación, fenómeno de Runge, nodos de Chebyshev, interpolación lineal a trozos y splines cúbicos, con ejemplos resueltos.

Se tienen unos cuantos datos medidos (la temperatura a cada hora, la curva de un sensor en unos puntos) y se quiere saber qué pasa **entre ellos**. Interpolar es encontrar una función que pase exactamente por los datos y usarla para estimar los valores intermedios. Es la base de las tablas de vapor, de las curvas de los programas de diseño y de muchos métodos numéricos de integración y derivación.

## Lo que vas a aprender

* Por qué por $n + 1$ puntos pasa un único polinomio de grado $n$.
* Cómo construirlo con la fórmula de Lagrange y con las diferencias divididas de Newton.
* Cuánto error se comete al interpolar.
* Por qué subir el grado puede empeorar las cosas (fenómeno de Runge).
* Cómo los splines cúbicos resuelven el problema.

## Fundamentos teóricos

### Existencia y unicidad

Dados $n + 1$ puntos $(x_0, y_0), \dots, (x_n, y_n)$ con todos los $x_i$ distintos, existe **un único** polinomio $p$ de grado como mucho $n$ con $p(x_i) = y_i$. Lagrange y Newton son dos formas de escribir **el mismo** polinomio.

### Forma de Lagrange

$$
p(x) = \sum_{i=0}^{n} y_i\,L_i(x) \qquad L_i(x) = \prod_{j \ne i}\frac{x - x_j}{x_i - x_j}
$$

Cada $L_i$ vale 1 en $x_i$ y 0 en los demás nodos. Es fácil de escribir, pero si se añade un punto hay que rehacerlo todo.

### Forma de Newton: diferencias divididas

$$
p(x) = f[x_0] + f[x_0, x_1](x - x_0) + f[x_0, x_1, x_2](x - x_0)(x - x_1) + \cdots
$$

con las **diferencias divididas**:

$$
f[x_i] = y_i \qquad f[x_i, \dots, x_{i+k}] = \frac{f[x_{i+1}, \dots, x_{i+k}] - f[x_i, \dots, x_{i+k-1}]}{x_{i+k} - x_i}
$$

Se organizan en una tabla triangular. Añadir un punto nuevo solo añade un término: no hay que recalcular los anteriores.

### Error de interpolación

Si $f$ tiene $n + 1$ derivadas continuas:

$$
f(x) - p(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{i=0}^{n}(x - x_i)
$$

El error es 0 en los nodos y crece entre ellos, sobre todo cerca de los extremos y fuera del intervalo (**extrapolar** es peligroso).

### Fenómeno de Runge

Con nodos **equiespaciados**, aumentar el grado no siempre mejora: para $f(x) = \frac{1}{1 + 25x^2}$ en $[-1, 1]$, el polinomio de grado 10 oscila violentamente cerca de los extremos, y el error **crece** al subir el grado.

Dos soluciones:

* **Nodos de Chebyshev**: $x_i = \cos\frac{(2i+1)\pi}{2(n+1)}$, más apretados en los extremos. Hacen el producto $\prod(x - x_i)$ lo más pequeño posible.
* **Interpolación a trozos**: polinomios de grado bajo en cada subintervalo.

### Splines cúbicos

En cada intervalo $[x_i, x_{i+1}]$ se usa un polinomio de grado 3, y se exige que en los nodos coincidan el valor, la **primera** y la **segunda** derivada. Quedan dos condiciones libres:

| Tipo | Condición en los extremos |
| - | - |
| **Natural** | $S''(x_0) = S''(x_n) = 0$ |
| **Sujeto** | Se fijan $S'(x_0)$ y $S'(x_n)$ |
| **Not-a-knot** | La tercera derivada es continua en el segundo y penúltimo nodo |

El spline natural es la curva más "suave" que pasa por los puntos: minimiza $\int (S'')^2$, como una regla flexible de delineante (de ahí el nombre).

## Ejemplos resueltos

> [accordion] Ejemplo 1 · Lagrange con tres puntos
>
> Puntos $(0, 1)$, $(1, 3)$, $(2, 7)$.
>
> $L_0 = \frac{(x-1)(x-2)}{2}$, $L_1 = \frac{x(x-2)}{-1}$, $L_2 = \frac{x(x-1)}{2}$.
>
> $p(x) = \frac{(x-1)(x-2)}{2} - 3x(x-2) + \frac{7x(x-1)}{2} = x^2 + x + 1$.
>
> Comprobación: $p(0) = 1$, $p(1) = 3$, $p(2) = 7$.

> [accordion] Ejemplo 2 · Los mismos puntos con Newton
>
> | $x_i$ | $f[x_i]$ | Orden 1 | Orden 2 |
> | - | - | - | - |
> | 0 | 1 | | |
> | 1 | 3 | $\frac{3-1}{1-0} = 2$ | |
> | 2 | 7 | $\frac{7-3}{2-1} = 4$ | $\frac{4-2}{2-0} = 1$ |
>
> $p(x) = 1 + 2x + 1\cdot x(x-1) = x^2 + x + 1$. El mismo polinomio.
>
> Si se añade $(3, 13)$: la nueva diferencia de orden 3 es 0, así que el polinomio no cambia (los datos son de una parábola).

> [accordion] Ejemplo 3 · Interpolar en una tabla
>
> Una tabla de vapor da la presión de saturación del agua: 2,339 kPa a 20 °C y 4,246 kPa a 30 °C. ¿A 24 °C?
>
> Interpolación lineal: $p = 2{,}339 + \frac{4{,}246 - 2{,}339}{10}\cdot 4 = 3{,}102$ kPa. El valor real es 2,985 kPa: la curva es convexa y la recta la sobreestima. Con un tercer punto (1,228 kPa a 10 °C) y una parábola, la estimación pasa a 3,006 kPa, mucho más cerca.

> [accordion] Ejemplo 4 · Cota del error
>
> Se interpola $\operatorname{sen} x$ en $0$, $\pi/4$ y $\pi/2$ con una parábola. ¿Error máximo en $x = \pi/8$?
>
> $|f'''| = |\cos x| \le 1$. $|E| \le \frac{1}{3!}\left|\frac{\pi}{8}\left(\frac{\pi}{8} - \frac{\pi}{4}\right)\left(\frac{\pi}{8} - \frac{\pi}{2}\right)\right| = \frac{1}{6}\cdot\frac{3\pi^3}{512} \approx 0{,}030$.

## Errores frecuentes

* **Pensar que más puntos siempre es mejor.** Con nodos equiespaciados y grado alto aparece el fenómeno de Runge.
* **Extrapolar.** Fuera del intervalo de los datos el polinomio puede alejarse mucho de la función.
* **Interpolar datos con ruido.** Si los datos son medidas con error, forzar la curva a pasar por ellos amplifica el ruido. Ahí se usa **ajuste por mínimos cuadrados** ([regresión](https://apuntes.simulab.es/matematicas/estadistica/regresion-lineal.md)), que no pasa por los puntos.
* **Equivocar el orden en las diferencias divididas.** El denominador es la diferencia entre los $x$ de los extremos del grupo.

## Preguntas frecuentes

> [accordion] ¿Interpolación o regresión?
>
> **Interpolación** si los datos son exactos (una tabla, una función conocida en unos puntos) y se quiere pasar por ellos. **Regresión** si son medidas con ruido y se busca la tendencia.

> [accordion] ¿Dónde se usan los splines?
>
> En las curvas de Bézier y B-splines de los programas de diseño y CAD, en las fuentes tipográficas, en las trayectorias de robots y en la animación por ordenador.

## Temas relacionados

> [card] [Regresión lineal](https://apuntes.simulab.es/matematicas/estadistica/regresion-lineal.md)
>
> Ajustar una recta a datos con ruido.

> [card] [Integración numérica](https://apuntes.simulab.es/matematicas/metodos-numericos/integracion-numerica.md)
>
> Integrar el polinomio interpolador.

> [card] [Factorizar polinomios](https://apuntes.simulab.es/matematicas/algebra/polinomios.md)
>
> Operaciones con polinomios.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.