Interpolacion

21

Transcript of Interpolacion

Page 1: Interpolacion
Page 2: Interpolacion

3.1 Interpolación Lineal

Con frecuencia se tienen que estimar valores intermedios entre valores conocidos. El método más común empleado para este propósito es la interpolación polinomial.

Recuérdese que la fórmula general de un polinomio de n-ésimo orden.

Para n + 1 puntos, existe uno y sólo un polinomio de n-ésimo orden o menor que pasa a través de todos los puntos. Por ejemplo, hay sólo una línea recta (es decir un polinomio de primer orden) que conecta dos puntos. El polinomio de interpolación consiste en determinar el único polinomio de n-ésimo orden que se ajusta a los n + 1 puntos dados. Este polinomio proporciona una fórmula para calcular los valores intermedios.

Aunque existe uno y sólo un polinomio de n-ésimo orden que se ajusta a los n + 1 puntos, existen una gran variedad de fórmulas matemáticas mediante las cuales se puede expresar este polinomio. En esta unidad se estudian dos técnicas alternativas que están bien condicionadas para implementarse en una computadora. Estos son los polinomios de Newton y de LaGrange.

INTERPOLACIÓN LINEAL

La interpolación lineal es un método de conexión usando polinomios lineales de curva. Calcula el desconocido tasa como si se encuentra en una línea recta entre los dos tipos, es la forma más sencilla para calcular la tasa de desconocidos.

Interpolación lineal y su cálculo profundamente empleadas en análisis numérico particular de matemáticas y numerosas aplicaciones incluyendo gráficos por computadora. Es una forma simple de interpolación.

La fórmula más simple de interpolación es la de conectar dos puntos con una línea recta. Este método, llamado Interpolación Lineal, se muestra en la figura 1.

Page 3: Interpolacion

La cuál es la fórmula de interpolación lineal. La notación f1(X) indica que se trata de un polinomio de interpolación de primer orden. Nótese que además de representar la pendiente de la línea que conecta los dos puntos, el término [ f(X1) - f(X2) ] / (X1 - X2) es una aproximación de diferencias divididas finitas a la primera derivada. En general, entre más pequeño sea el intervalo entre los puntos, más exacta será la aproximación.

3.2 FORMULA DE INTERPOLACION LAGRANGE

POLINOMIOS DE INTERPOLACIÓN DE LAGRANGE

El polinomio de interpolación de Lagrange, simplemente es una reformulación del polinomio de Newton que evita los cálculos de las diferencias divididas. Este se puede representar concretamente como:

(21)

en donde:

(22)

En donde denota el "producto de".

Por ejemplo, la versión lineal (n = 1) es:

(23)

y la versión de segundo orden es:

(24)

al igual que en el método de Newton, la versión de Lagrange tiene un error aproximado dado por:

Page 4: Interpolacion

(25)

La ecuación (21) se deriva directemente del polinomio de Newton. Sin embargo, la razon fundamental de la formulación de Lagrange se puede comprender directamente notando que cada término Li(X) será 1 en X=Xi y 0 en todos los demas puntos.

Por lo tanto, cada producto Li(X) f(Xi) toma un valor de f(Xi) en el punto Xi. Por consiguiente la sumatoria de todos los productos, dada por la ecuación (21) es el único polinomio de n-ésimo orden que pasa exactamente por los n+1 puntos.

3.3 Metodos de interpolación hacia adelante y hacia atrás de Newton para puntos equidistantes

Diferencia finita

Una diferencia finita es una expresión matemática de la forma f(x + b) − f(x +a). Si una diferencia finita se divide por b − a se obtiene una expresión similar al cociente diferencial, que difiere en que se emplean cantidades finitas en lugar de infinitesimales. La aproximación de las derivadas por diferencias finitas desempeña un papel central en los métodos de diferencias finitas del análisis numérico para la resolución de ecuaciones diferenciales.

Diferencias finitas centradas y laterales

Page 5: Interpolacion
Page 6: Interpolacion
Page 7: Interpolacion
Page 8: Interpolacion

Vamos a cambiar la forma del polinomio de interpolación buscando una expresión más sencilla de calcular: a su vez salvo que gráficamente veamos cual podria ser la mejor elección para el grado del polinomio a ajustar tendremos el P I LN una vez que nos hayamos decidido. Esta situacion se puede cambiar a trav´es del uso del P I NN

7 Para eso vamos a presentar 2 formulas diferentes que permiten trabajar con mallas de datos equiespaciados y también con colección de nodos a distancia variable que muchas veces son los problemas más frecuentes en el ajuste de datos Interpolaci´on de Newton por diferencias hacia adelante

Supongamos que las abcisas de los datos tiene igual separaci´on con un taman˜o de intervalo hy los puntos los vamos a notar como (xi, fi)

Nos construimos una tabla de diferencias hacia adelante tal como aparece en la tabla que sigue

∆fi = fi Diferencia hacia adelante de

orden 0

∆1fi = fi+1 − fi Diferencia hacia adelnate de orden 1

∆2fi = ∆fi+1 − ∆fi Diferencia hacia adelante de orden 2

∆3fi = ∆2fi+1 − ∆2fi

Page 9: Interpolacion

i fi ∆1fi ∆2 fi ∆3fi ∆4fi

0

1

2

f0

f1

f2

∆1f0

∆1f1

∆1f2

∆2f0

∆2f1

∆2f2

∆3f0

∆3f1

∆3f2

∆4 f0

∆4 f1

h

. . . . . .

∆k fi = ∆k−1 fi+1 − ∆k−1fi Diferencia hacia adelante de orden k

En la tabla que sigue tenemos una columna que nos da el indice de los datos, la ordenadas de los datos, la diferencia hacia adelante de orden 1. etc; asi nos queda formada una matriz triangular que es muy facil de evaluar con la ayuda de una computadora

4 f4 ∆1f4

Cuadro 1.1: Tabla de diferencias hacia adelante

Precisamos ahora ademas de tener las diferencias calcular los coeficientes binomiales que estan dados como siguen

donde s es una coordenada local definida por s

= x− x0

y h es el intervalo

Page 10: Interpolacion

uniforme de la malla de puntosAhora que tenemos definidos los coeficientes binomiales nos

podemos ar- mar la f´ormula de interpolacion de Newton que pasa por la malla de puntos (f0f1f2 f3....fk )

3.4 Aplicaciones de la interpolación.

En el subcampo matemático del análisis numérico, un spline es una curva diferenciable definida en porciones mediante polinomios.

En los problemas de interpolación, se utiliza a menudo la interpolación mediante splines porque da lugar a resultados similares requiriendo solamente el uso de polinomios de bajo grado, evitando así las oscilaciones, indeseables en la mayoría

Page 11: Interpolacion

de las aplicaciones, encontradas al interpolar mediante polinomios de grado elevado.

Para el ajuste de curvas, los splines se utilizan para aproximar formas complicadas. La simplicidad de la representación y la facilidad de cómputo de los splines los hacen populares para la representación de curvas en informática, particularmente en el terreno de los gráficos por ordenado.

Interpolación Segmentaria Lineal.

Este es el caso más sencillo. En él, vamos a interpolar una función f(x) de la que se nos dan un número N de pares (x,f(x)) por los que tendrá que pasar nuestra función polinómica P(x). Esta serie de funciones nuestras van a ser lineales, esto es, con grado 1: de la forma P(x) = ax + b.

Definiremos una de estas funciones por cada par de puntos adyacentes, hasta un total de (N-1) funciones, haciéndolas pasar obligatoriamente por los puntos que van a determinarlas, es decir, la función P(x) será el conjunto de segmentos que unen nodos consecutivos; es por ello que nuestra función será continua en dichos puntos, pero no derivable en general.

Ejemplo= Interpolar con splines f(x)=1/x, en los puntos en los que x valen 1 2 y 4

f(1) = 1

f(2) = 0.5

f(4) = 0.25

El primer segmento P1(x) = ax + b deberá unir los primeros dos puntos de coordenadas (1,1) y (0.5,2). Surge un sistema lineal de dos ecuaciones en dos incógnitas:

(1) 1=a+b

(2) 0.5=2a+b

De (1) se obtiene:

Page 12: Interpolacion

a=1-b (3)

Reemplazando (3) en (2) se obtiene:

0.5=2(1-b)+b

Luego b=1.5

Reemplazando el valor de (b) en (1), se obtiene:

a = - 0.5

Por lo tanto, se concluye que: P1(x) = - 0.5x + 1.5 El segundo segmento P2(x) = ax + b deberá unir el segundo punto (0.5,2) con el tercer punto (0.25,4). Análogamente a lo hecho para P1(x), en el caso de P2(x) se obtiene:

(1) 0.5 = 2a + b

(2) 0.25 = 4a + b

a = - 0.125, b = 0.75

Luego P2(x) = - 0.125x + 0.75

Interpolacion Segmentaria Cuadratica

En este caso, los polinomios P(x) a través de los que construimos el Spline tienen grado 2. Esto quiere decir, que va a tener la forma P(x) = ax² + bx + c

Como en la interpolación segmentaria lineal, vamos a tener N-1 ecuaciones (donde N son los puntos sobre los que se define la función). La interpolación cuadrática nos va a asegurar que la función que nosotros generemos a trozos con

Page 13: Interpolacion

los distintos P(x) va a ser continua, ya que para sacar las condiciones que ajusten el polinomio, vamos a determinar como condiciones:

Que las partes de la función a trozos P(x) pasen por ese punto. Es decir, que las dos Pn(x) que rodean al f(x) que queremos aproximar, sean igual a f(x) en cada uno de estos puntos.

Que la derivada en un punto siempre coincida para ambos "lados" de la función definida a trozos que pasa por tal punto común.

Esto sin embargo no es suficiente, y necesitamos una condición más. ¿Por qué?. Tenemos 3 incógnitas por cada P(x). En un caso sencillo con f(x) definida en tres puntos y dos ecuaciones P(x) para aproximarla, vamos a tener seis incógnitas en total. Para resolver esto necesitaríamos seis ecuaciones, pero vamos a tener tan sólo cinco: cuatro que igualan el P(x) con el valor de f(x) en ese punto (dos por cada intervalo), y la quinta al igualar la derivada en el punto común a las dos P(x).

Se necesita una sexta ecuación,¿de dónde se extrae? Esto suele hacerse con el valor de la derivada en algún punto, al que se fuerza uno de los P(x)

Interpolacion Segmentaria Cubica.

En este caso, cada polinomio P(x) a través del que construimos los Splines en [m,n] tiene grado 3. Esto quiere decir, que va a tener la forma P(x) = ax³ + bx² + cx + d

En este caso vamos a tener cuatro variables por cada intervalo (a,b,c,d), y una nueva condición para cada punto común a dos intervalos, respecto a la derivada segunda:

Que las partes de la función a trozos P(x) pasen por ese punto. Es decir, que las dos Pn(x) que rodean al f(x) que queremos aproximar, sean igual a f(x) en cada uno de estos puntos.

Que la derivada en un punto siempre coincida para ambos "lados" de la función definida a trozos que pasa por tal punto común.

Que la derivada segunda en un punto siempre coincida para ambos "lados" de la función definida a trozos que pasa por tal punto común.

Page 14: Interpolacion

Como puede deducirse al compararlo con el caso de splines cuadráticos, ahora no nos va a faltar una sino dos ecuaciones (condiciones) para el número de incógnitas que tenemos.

La forma de solucionar esto, determina el carácter de los splines cúbicos. Así, podemos usar:

Splines cúbicos naturales: La forma más típica. La derivada segunda de P se hace 0 para el primer y último punto sobre el que está definido el conjunto de Splines, esto son, los puntos m y n en el intervalo [m,n].

Dar los valores de la derivada segunda de m y n de forma "manual", en el conjunto de splines definidos en el intervalo [m,n].

Hacer iguales los valores de la derivada segunda de m y n en el conjunto de splines definidos en el intervalo [m,n]

Splines cúbicos sujetos: La derivada primera de P debe tener el mismo valor que las derivada primera de la función para el primer y último punto sobre el que está definido el conjunto de Splines, esto son, los puntos m y n en el intervalo [m,n].

También del mismo modo puede usarse En el cálculo de estructuras, instalaciones eléctricas, hidráulicas y sanitarias, en cálculos de carreteras, topografía y hasta en diseño de las estructuras, no en todos los casos pero principalmente cuando hay mala toma de datos o haya datos faltantes.

En el subcampo matemático del análisis numérico, un spline es una curva diferenciable definida en porciones mediante polinomios.

En los problemas de interpolación, se utiliza a menudo la interpolación mediante splines porque da lugar a resultados similares requiriendo solamente el uso de polinomios de bajo grado, evitando así las oscilaciones, indeseables en la mayoría de las aplicaciones, encontradas al interpolar mediante polinomios de grado elevado.

Para el ajuste de curvas, los splines se utilizan para aproximar formas complicadas. La simplicidad de la representación y la facilidad de cómputo de los

Page 15: Interpolacion

splines los hacen populares para la representación de curvas en informática, particularmente en el terreno de los gráficos por ordenado.

 Tenemos los siguientes 3:

·Interpolación Segmentaría Lineal·Interpolación Segmentaría Cuadrática·Interpolación Segmentaría Cúbica

3.5 Métodos Interpolación en Matlab

En matlab encontramos las siguientes funciones para interpolar datos:

• interp1 interpolación de datos unidimensionales.

• spline interpolación con el método de spline cúbica

• polyfit interpolación con polinomios

El comando “interp1”

• El comando interp1 se emplea para interpolar una serie de datos. El

formato de este comando es:

yi = interp1(x, y, xi, método)

Donde:

• x : abscisa de los puntos a interpolar, expresada como vector fila.

• y : ordenada de los puntos a interpolar, expresada como vector fila.

• xi : abscisas para construir la función de interpolación, expresada como

vector fila. Si es un solo valor, calculará el valor interpolando con la función

declarada en métodos.

• método: determina el método de interpolación, entre:

Los métodos

Page 16: Interpolacion

• nearest interpolación asignado el valor del vecino más cercano.

• linear interpolación lineal (default)

• spline interpolación con spline cúbica

• pchip interpolación con polinomios de Hermite

• cubic (igual que 'pchip')

• v5cubic interpolación Cúbica usada in MATLAB 5

Ejemplo de implementación

El comando “spline”

• Otra manera de realizar una interpolación de tipo spline, es invocando el

comando spline, cuyo formato se muestra a continuación:

yy = spline (x, y, xx)

• Donde:

• x : abscisa de los puntos a interpolar, expresada como vector fila.

• y : ordenada de los puntos a interpolar, expresada como vector fila.

• xx : abscisas para construir la función de interpolación, expresada como

vector fila. Si es un solo valor calculará el valor interpolando.

Ejemplo de implementación

Page 17: Interpolacion

El comando “polyfit”

• Calcula los coeficientes de un polinomio de grado “n” que ajustan, mediante

mínimos cuadrados, a una serie de datos. El formato de este comando se

resume, así:

yy = polyfit (x, y, orden)

• x : abscisa de los puntos a interpolar, expresada como vector fila.

• y : ordenada de los puntos a interpolar, expresada como vector fila.

• orden: indica el orden del polinomio que se utilizará en el ajuste.

• Además, se usa el comando polyval para calcular el valor de un polinomio

para un dado valor de x, según la forma:

y = polyval ( p , x )

• donde: p es el polinomio, ingresado como vector fila y x es el valor de la

incógnita cuya imagen se desea calcular.

Ejemplo de implementación

Page 18: Interpolacion