Edición de «Interpolación (Métodos Numéricos)»
De Cuba-Wiki
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 | Muchas veces nos encontramos con un conjunto de puntos (xi , f (xi )) que provienen de una función descono- | ||
provienen de una función | cida f y nos gustaría poder “estimar” el valor de la función en algún punto ξ ∈ [x0 , xn ] para el cual no tenemos | ||
el valor de la función en algún punto | datos. Otra razón para interpolar puede ser que la función original es demasiado complicada para tratar con ella | ||
Otra razón para interpolar puede ser que la función original es demasiado complicada | y queremos simplificarla tomando sólo la información contenida en algunos puntos y “sintetizando” una función | ||
para tratar con ella y queremos | más simple. Las funciones interpoladoras hacen justamente lo que estamos buscando. | ||
en algunos puntos y | |||
Las funciones interpoladoras hacen justamente lo que estamos buscando. | |||
Es útil poder interpolar con polinomios porque son una clase de funciones | Es útil poder interpolar con polinomios porque son una clase de funciones muy conocida, que tiene derivadas | ||
muy conocida, que tiene derivadas e integrales fáciles de calcular | e integrales fáciles de calcular y que también son polinomios. Los polinomios de Taylor concentran su exactitud | ||
y que también son polinomios. | alrededor del punto sobre el que están centrados, pero a medida que se aleja del centro deja de ser una buena | ||
Los polinomios de Taylor concentran su exactitud alrededor del punto | aproximación, por lo que en general no sirven para intervalos medianamente grandes. | ||
sobre el que están centrados, pero a medida que se aleja del centro | |||
deja de ser una buena aproximación, por lo que en general no sirven | |||
para intervalos medianamente grandes. | |||
Polinomio interpolador de Lagrange | |||
8.1. | |||
A partir de | A partir de n + 1 puntos x0 , x1 , . . . , xn podemos obtener el polinomio de menor grado que pasa por todos | ||
el polinomio de menor grado que pasa por todos ellos. | ellos. Se construye un cociente Ln,k (x) con la propiedad de que Ln,k (xi ) = 0 cuando i = k y Ln,k (xk ) = 1. Un | ||
Se construye un cociente | polinomio que cumple esto es el siguiente: | ||
cuando | |||
cumple esto es el siguiente: | |||
n | |||
∏ (x − xi ) | |||
(x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn ) | |||
= | |||
(xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn ) | |||
(xk − xi ) | |||
i=0 | |||
Ln,k (x) = | |||
i=k | |||
Figura 3: Polinomio Ln,k (x). | |||
Teorema 8.1. Si x0 , x1 , . . . , xn son n + 1 números distintos y si f es una función cuyos valores están dados | |||
en esos números, entonces existe un único polinomio P de grado a lo sumo n, con la propiedad de que | |||
f (xk ) = P (xk ) para k = 0, . . . , n. Este polinomio está dado por: | |||
n | |||
∑ | |||
P (x) = | |||
k=0 | |||
f (xi )Ln,k (x) | |||
Teorema 8.2. Sean x0 , x1 , . . . , xn en [a, b], f ∈ C n+1 [a, b] entonces para todo x en [a, b], existe ξ en [a, b], que | |||
depende de x, tal que: | |||
n | |||
f (n+1) (ξ(x)) ∏ | |||
f (x) = P (x) + | |||
(x − xi ) | |||
(n + 1)! i=0 | |||
9 | |||
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 es que teniendo una aproximación de grado n, si se quiere obtener 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. Como el polinomio es único, veremos que se puede encontrar otra forma de construirlo que permita | |||
agregar más puntos en el futuro sin un costo tan alto. | |||
Definición. Sean k números enteros distintos m1 , . . . , mk que cumplen 0 ≤ mi ≤ n para cada i, se define a | |||
Pm1 ,m2 ,...,mk (x) como el polinomio interpolante en los puntos xm1 , xm2 , . . . , xmk . | |||
Teorema 8.3. Sea f definida en n + 1 puntos distintos x0 , . . . , xn con xi y xj 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) = | |||
(x − xj )P0,1,...,j−1,j+1,...,n (x) − (x − xi )P0,1,...,i−1,i+1,...,n (x) | |||
(xi − xj ) | |||
De acuerdo con el Teorema 8.3, los polinomios interpolantes pueden generarse de manera recursiva apro- | |||
vechando polinomios ya calculados. | |||
Forma de Newton del polinomio interpolador | |||
8.2. | |||
Definición. La diferencia dividida cero de f respecto a xi se define como | |||
f [xi ] = f (xi ) | |||
y la k-ésima diferencia dividida relativa a xi , xi+1 , . . . , xi+k está dada por | |||
f [xi , xi+1 , . . . , xi+k ] = | |||
f [xi+1 , xi+2 , . . . , xi+k ] − f [xi , xi+1 , . . . , xi+k−1 ] | |||
xi+k − xi | |||
Teorema 8.4. Se puede demostrar que el polinomio interpolador Pn (x) se puede expresar como | |||
Pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · + an (x − x0 )(x − x1 ) · · · (x − xn−1 ) | |||
donde ak = f [x0 , . . . , xk ]. | |||
Usando esta definición se puede ir armando el polinomio interpolador de una serie de puntos de forma | |||
incremental, de manera que para agregar un punto más al polinomio se puede aprovechar lo ya calculado. | |||
Splines | |||
8.3. | |||
Los polinomios tienen una gran desventaja como interpoladores y es que cuanto mayor es el grado, más | |||
oscilan. Un procedimiento alternativo consiste en dividir el intervalo en una serie de subintervalos y en cada | |||
subintervalo construir un polinomio distinto de aproximación, basándose en la idea de que si cada intervalo usa | |||
un polinomio de un grado pequeño, se obtendrá un resultado mucho mejor que con Lagrange. | |||
La aproximación polinómica fragmentaria más simple consiste en unir una serie de puntos mediante una | |||
serie de segmentos de rectas. La aproximación por funciones lineales ofrece una desventaja, que no se tiene la | |||
seguridad de que haya diferenciabilidad en los extremos de los subintervalos lo cual geométricamente significa | |||
que la función interpolante no es “suave” en esos puntos. | |||
El tipo más simple de función de polinomio fragmentario diferenciable en un intervalo entero [x0 , xn ] es | |||
de una | la función obtenida al ajustar un polinomio cuadrático entre cada par consecutivo de nodos. Esto se hace | ||
construyendo una cuadrática en [x0 , x1 ] que concuerde con la función en x0 y en x1 , otra cuadrática en [x1 , x2 ] | |||
que concuerde con la función en x1 y en x2 y así sucesivamente. Un polinomio cuadrático general tiene tres | |||
constantes arbitrarias, y únicamente se requieren dos condiciones para ajustar los datos en los extremos de cada | |||
intervalo, por ello existe una flexibilidad que permite seleccionar la cuadrática de modo que la interpolante tenga | |||
una derivada continua en [x0 , xn ]. El problema se presenta cuando hay que especificar las condiciones referentes | |||
10 | |||
Figura 4: Diferencias divididas. | |||
a la derivada de la interpolante en los extremos x0 y xn : no hay constantes suficientes para cerciorarse de que | |||
se satisfagan las condiciones. | |||
La aproximación polinómica fragmentaria más común utiliza polinomios de grado tres entre cada par con- | |||
que | secutivo de puntos y recibe el nombre de interpolación por trazadores cúbicos (o spline cúbico). Un polinomio | ||
cúbico general contiene cuatro constantes para variar, así ofrece suficiente flexibilidad para garantizar que el | |||
interpolante no sólo sea continuamente diferenciable en el intervalo, sino que además tenga una segunda deri- | |||
vada continua en el intervalo, aunque no se espera que las derivadas segundas coincidan con las de la función | |||
ni siquiera en los nodos. | |||
Definición: Dada una función f definida en [a, b] y un conjunto de nodos a = x0 < x1 < . . . < xn = b un | |||
spline cúbico S para f es una función que cumple con las siguientes condiciones: | |||
a. S(x) es un polinomio cúbico denotado Sj (x) en el subintervalo [xj , xj+1 ] para j de 0 a n − 1 | |||
b. S(xj ) = f (xj ) para j de 0 a n | |||
= | c. Sj+1 (xj+1 ) = Sj (xj+1 ) para j de 0 a n − 2 | ||
d. Sj+1 (xj+1 ) = Sj (xj+1 ) para j de 0 a n − 2 | |||
j+1 (xj+1 ) | |||
Cuando deseo interpolar un conjunto de puntos | e. S | ||
planteo de todas las condiciones mencionadas para | |||
llevar a la forma de un sistema de ecuaciones tridiagonal que queda | f. Se satisface una de las siguientes condiciones de frontera: | ||
en función de uno de los cuatro | |||
ser estrictamente diagonal dominante, por lo que tiene solución única, | S (x0 ) = S (xn ) = 0 (spline libre o natural) | ||
puede almacenarse usando poco espacio y resolverse relativamente rápido. | S (x0 ) = f (x0 ) y S (xn ) = f (xn ) (spline sujeto) | ||
Generalmente en las condiciones de frontera sujeta se logran aproximaciones más exactas, ya que usan más | |||
información acerca de la función, pero se requiere tener valores de la derivada en los extremos. Existen también | |||
otras condiciones de frontera posibles además de la natural o la sujeta. | |||
Cuando deseo interpolar un conjunto de puntos x0 , . . . , xn , el planteo de todas las condiciones mencionadas | |||
para S(x) se puede 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 ser estrictamente diagonal dominante, por lo que tiene solución | |||
única, puede almacenarse usando poco espacio y resolverse relativamente rápido. | |||
= Sj (xj+1 ) para j de 0 a n − 2 | |||
11 |