Tema 3 Interpolacion Polinomial 07-12-2012

59
1 Tema 3: Interpolación Polinomial. Dpto. de Matemáticas. Prof. Doctor Fernando Mallo Fernández Métodos Matemáticos. 2º ciclo de INGENIERÍA INDUSTRIAL, 2012-2013 Índice 1 Introducción a los métodos de interpolación. 3 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Interpolación de Lagrange 5 2.1. Existencia y Unicidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Cálculo por el Método de las Diferencias Divididas de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3. Cálculo por el Método de Lagrange . . . . . . . . . . . . . . . . . . . 19 2.4. Error de interpolación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5. Interpolación por Splines (splines cúbicos naturales y sujetos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 26 3 Interpolación de Lagrange Paramétrica 55 3.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2. Existencia y Unicidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.3. Cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Transcript of Tema 3 Interpolacion Polinomial 07-12-2012

Page 1: Tema 3 Interpolacion Polinomial 07-12-2012

1

Tema 3: Interpolación Polinomial.

Dpto. de Matemáticas. Prof. Doctor Fernando Mallo Fernández

Métodos Matemáticos.

2º ciclo de INGENIERÍA INDUSTRIAL, 2012-2013

Índice 1 Introducción a los métodos de interpolación. 3 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Interpolación de Lagrange 5 2.1. Existencia y Unicidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Cálculo por el Método de las Diferencias Divididas de

Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3. Cálculo por el Método de Lagrange . . . . . . . . . . . . . . . . . . . 19 2.4. Error de interpolación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5. Interpolación por Splines (splines cúbicos naturales y

sujetos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

26 3 Interpolación de Lagrange Paramétrica 55 3.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2. Existencia y Unicidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.3. Cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Page 2: Tema 3 Interpolacion Polinomial 07-12-2012

2

Page 3: Tema 3 Interpolacion Polinomial 07-12-2012

3

1. Introducción a los métodos de interpolación.

1.1 Motivación.

Existen en todas las ramas de la ciencia, y, por tanto, en la Ingeniería

Aeroespacial situaciones en las que conociendo un conjunto de datos

experimentales en un cierto intervalo de la variable independiente, esto es,

conociendo una cierta cantidad de datos tabulados, se hace preciso encontrar una

función que verifique todos esos datos y permita, por consiguiente, predecir la

existencia de otros valores con la aproximación adecuada.

Formalmente, dada una función ( )f x , la fórmula de interpolación permite

calcular de manera aproximada los valores de ( )f x , sustituyendo la función

( )f x por otra función de aproximación ( )p x que pudiera convenir por razones de

simplicidad, operatividad, etc. La primera cuestión que debemos plantearnos es

la siguiente:

dada una tabla de valores de ( )f x :

(1) x0 x1 x2 . . . xn

y0 y1 y2 . . . yn

¿existe una función ( )p x tal que ( )k kp x y= ?

En caso de existir tal función ( )p x se llama función de interpolación.

En definitiva se trata de, a partir de los valores de la función ( )f x mostrados

en (1), construir otra función ( )p x con adecuados parámetros na :

(2 ) 0( ) ( ; ,..., ) np x p x a a≡

de modo que se cumplan las condiciones de interpolación prefijadas en el

conjunto de puntos (1) del dominio de la función ( )f x , que se denominan nodos

de interpolación.

Estas condiciones consisten, en general, en que coincidan los valores que

presenta la función dada ( )f x en los nodos de interpolación con los valores que

en dichos nodos presenta la función de interpolación ( )p x :

( ) ( ), 0,1,..., k kp x f x k n= =

donde x0, x1,…, xn son los nodos de interpolación.

La interpolación es una herramienta matemática muy útil en una gran

variedad de aplicaciones, en concreto:

Aproximar el valor ( )kf x cuando ( )f x tiene una expresión difícil de

calcular y se tiene una tabla de valores de ( )f x .

Page 4: Tema 3 Interpolacion Polinomial 07-12-2012

4

Aproximar el valor ( )kf x cuando se conoce ( )f x de forma experimental al

considerar una condición kx no experimental.

Construir una curva que pase por una colección de puntos, como por ejemplo:

Ejemplo 3.1 Diseñar una montaña rusa que pase por los puntos:

(1,2), (2,1), (3,5), (4,4) (5,3), (6,6)

Figura 1: Nodos del ejemplo 1.1.

Figura 2: Montaña rusa diseñada por interpolación de Lagrange.

Page 5: Tema 3 Interpolacion Polinomial 07-12-2012

5

2 Interpolación de Lagrange.

2.1 Existencia y Unicidad.

Definición 3.1. Interpolación Polinomial. En el caso particular en el que

p(x) es un polinomio, el problema de interpolación se conoce como Interpolación

Polinomial.

Recuerde que la fórmula general para un polinomio de n-ésimo grado es

(3) 0 1 1 2 2( ) · · · n nf x a a x a x a x= + + + +

Dados n+1 puntos, hay uno y sólo un polinomio de grado n que pasa a través

de todos los puntos. Por ejemplo, hay sólo una línea recta (es decir, un polinomio

de primer grado) que une dos puntos (figura 3a). De manera similar, únicamente

una parábola une un conjunto de tres puntos (figura 3b) y un polinomio de tercer

grado que une cuatro puntos (figura 3c).

Figura. 3 Ejemplos de interpolación polinomial: a) de primer grado (lineal) que une dos puntos, b) de segundo grado (cuadrática o parabólica) que une tres puntos y c) de tercer grado (cúbica) que une cuatro puntos.

Definición. 3.2. El problema de interpolación polinomial de Lagrange

consiste en dada una tabla de datos

x0 x1 x2 . . . xn

y0 y1 y2 . . . yn

con , j kx x≠ , para k j≠ , encontrar un polinomio ( )np x de grado menor posible

tal que

( ) 0,1,...,n k kp x y k n= =para

Entonces el polinomio ( )np x proporciona una fórmula para calcular valores

intermedios y se llama Polinomio Interpolador de Lagrange en los nodos

( ) ( ) ( )0 0 1 1, , ,n nx y x y x y, ,..., .

Page 6: Tema 3 Interpolacion Polinomial 07-12-2012

6

Teorema. 3.1 (Existencia y Unicidad del polinomio interpolador ( )np x ).

Existe un único Polinomio Interpolador de Lagrange, ( )np x de grado menor o

igual que n en los nodos ( ) ( ) ( )0 0 1 1, , ,n nx y x y x y, ,..., .

Aunque hay uno y sólo un Polinomio Interpolador de Lagrange de grado n

que se ajusta a n+1 puntos, existe una gran variedad de formas matemáticas en

las cuales puede expresarse este polinomio.

Ejemplo 3.2 Interpolación Lineal.

La forma más simple de interpolación consiste en unir dos puntos con una

línea recta. Dicha técnica, llamada interpolación lineal, se ilustra de manera

gráfica en la figura 4.

( ) ( ) ( ) ( )1 01 0 1 0

0 1 0

1 0 0

1 0

p x y y ytg

x x x x

y yp x y x x

x xα

− −= = ⇒− −−

−= + −

donde 0 1x x x< < .

Si notamos [ ] [ ] 1 00 0 0 1

1 0

, ,y y

x y x xx x

−= =−

. Se tiene

(4) ( ) [ ] [ ]( )1 0 0 1 0,p x x x x x x= + − .

0x x 1x

( )1p x

1y

0y

( )f x

Figura. 4 Interpolación Lineal.

Obsérvese que además de representar la pendiente de la recta que une los puntos

( ) ( )0 0 1 1, ,x y x yy , el término [ ] 1 00 1

1 0

,y y

x xx x

−=−

es una aproximación en diferencia

dividida finita a la primera derivada de ( )f x que viene dada por

( ) ( ) ( )0 0

00

' limdx

f x dx f xf x

dx→

+ −= . En general, cuanto menor sea el intervalo entre

los datos, mejor será la aproximación. Esto se debe al hecho de que, conforme

disminuye el intervalo, una función continua estará mejor aproximada por una

línea recta, como se demuestra en el siguiente ejemplo.

Page 7: Tema 3 Interpolacion Polinomial 07-12-2012

7

Ejemplo 3.3 Estime el logaritmo natural de 2 mediante interpolación lineal.

Primero, realice el cálculo por interpolación entre ( )ln 1 0= y ( )ln 6 1.791759= .

Después, repita el procedimiento, pero use un intervalo menor, por ejemplo de

( )ln 1 0= a ( )ln 4 1.386294= . El verdadero valor de ( )ln 2 0.6931472= .

Solución. Usamos la ecuación (4) y una interpolación lineal para ( )ln 2 desde

0 1x = hasta 1 6x = para obtener ( ) [ ] [ ]( ) [ ] [ ]( )1 0 0 1 02 , 2 1 1,6 2 1p x x x x= + − = + − .

Nuestra tabla de datos (2.1) viene dada por

1 6

0 1.791759

La diferencia dividida [ ] [ ]0 1, 1,6x x = es

[ ] 1.791759 01,6 0.3583519

6 1

−= =−

Las diferencias divididas necesarias para nuestra interpolación lineal se

muestra en la tabla siguiente:

ix [ ]ix [ ]1,i ix x +

1 0

6 1.791759 0.3583519

La recta de interpolación viene dada por ( ) ( )1 0.3583519 1p x x= − , que evaluada

en 2x = nos proporciona una aproximación a ( )ln 2 :

( )1 2 0 0.3583519 1 0.3583519p = + × =

que presenta un error: 0.6931472-0.3583519

0.483007 48,3%0.6931472

error = = ≈ .

p1(x)

64

1.7917

1.3862

1 2

0.6931

0.46200.3583

Figura. 5 Interpolación Lineal.

Page 8: Tema 3 Interpolacion Polinomial 07-12-2012

8

Como puede observarse en la figura 5, en el intervalo menor desde 0 1x = hasta

1 4x = se obtienen las diferencias divididas:

ix [ ]ix [ ]1,i ix x +

1 0

4 1.386294 0.4620981

En este caso, La recta de interpolación viene dada por ( ) ( )1 0.4620981 1p x x= − ,

que evaluada en 2x = nos proporciona otra aproximación a ( )ln 2 :

( )1 2 0 0.4620981 1 0.4620981p = + × =

Usando el intervalo más corto el error relativo porcentual se reduce a

0.6931472-0.46209810.333333 33,3%

0.6931472error = = ≈ .

Ambas interpolaciones se muestran en la figura 5, junto con la función

verdadera.

Ejemplo 3.4 Interpolación Cuadrática.

El error cometido en el ejemplo anterior se origina al aproximar una curva por

una línea recta. Una forma de resolver este problema consiste en dotar a la línea

que une los puntos de alguna curvatura. Si la tabla de datos se refiere a tres

puntos

0x 1x 2x

0y 1y 2y

éstos pueden ajustarse a un polinomio de segundo grado (también conocido

como polinomio cuadrático o parábola). Una forma particularmente

conveniente para expresar un polinomio con este fin es la siguiente:

(5) ( ) ( ) ( )( )2 0 1 0 2 0 1p x c c x x c x x x x= + − + − −

Observe que aunque la ecuación (5) parece diferir del polinomio general

[ecuación (3)], las dos ecuaciones son equivalentes

( ) ( ) ( )( ) ( ) 2

2 0 1 0 2 0 1 2 0 1 2

0 0 1 0 2 0 1

1 1 2 0 2 1

2 2

p x c c x x c x x x x p x a a x a x

a c c x c x x

a c c x c x

a c

= + − + − − ≡ = + +

= − +

= − −

=

De este modo, las ecuaciones (3), para 2n = , y (5) son formas alternativas y

equivalentes del único polinomio de segundo grado que une los tres puntos.

Page 9: Tema 3 Interpolacion Polinomial 07-12-2012

9

Para determinar los valores de los coeficientes, , 0,1, 2ic i = , puede utilizarse el

siguiente procedimiento:

a) Para encontrar 0c , se evalúa la ecuación (5) en 0x x= . Como resultado se

obtiene ( ) ( ) ( ) ( )2 0 0 1 0 0 2 0 0 0 1 0p x c c x x c x x x x c= + − + − − = , es decir

( )0 2 0 0c p x y= = o, en términos de diferencias divididas,

(6) [ ]00 0c xy= =

b) Para encontrar 1c , se sustituye (6) en (5) y se evalúa la ecuación

resultante en 1x x= . Ahora resulta

( ) ( ) ( ) ( ) ( )2 1 0 1 1 0 2 1 0 1 1 0 1 1 0p x y c x x c x x x x y c x x= + − + − − = + − ,

de donde, ( ) [ ]2 1 0 1 0

1 0 1

1 0 1 0

,p x y y y

c x xx x x x

− −= = =− −

, es decir

(7) ( ) [ ]1 01

1 0

0 1,y y

cx x

x x=−=−

c) Por último, para encontrar 2c , se sustituyen (6) y (7) en (5) y se evalúa la

ecuación resultante en 2x x= . En este caso, se tiene

( ) ( ) ( ) ( )1 02 2 2 0 2 0 2 2 0 2 1

1 0

y yy p x y x x c x x x x

x x

−= = + − + − −−

,

de donde, tras algunas operaciones algebraicas, se llega a

( )[ ] [ ] [ ]

2 2 1 1 0 1 02 1

1 2 0 12 1 1 0 2 1 1 02 0 1 2

2 0 2 0 2 0

, ,, ,

p x y y y y yy y

x x x xx x x x x x x xc x x x

x x x x x x

− − −−− −−− − − −= = = =

− − −,

Por tanto,

(8) [ ]0 1

1 02 1

2 1 1 02 2

2 0

, ,

y yy y

x x xx

xx xc

x x

=

− −− −=

El polinomio (5) adopta la forma:

(9) ( ) ( ) ( ) ( )( )1 02 1

1 0 2 1 1 02 0 0 0 1

1 0 2 0

y yy y

y y x x x xp x y x x x x x x

x x x x

−− −− − −= + − + − −− −

o, en términos de diferencias divididas,

(10) ( ) [ ] [ ]( ) [ ]( )( )2 0 0 1 0 0 1 2 0 1, , ,p x x x x x x x x x x x x x= + − + − −

Page 10: Tema 3 Interpolacion Polinomial 07-12-2012

10

Obsérvese que, como en el caso de la interpolación lineal, 1c representa la

pendiente de la línea que une los puntos ( )0 0,x y y ( )1 1,x y .

Los primeros dos términos de la ecuación (10) son equivalentes a la

interpolación lineal entre ( )0 0,x y y ( )1 1,x y , como se observa en (4).

El último término, ( )( )2 0 1c x x x x− − , determina la curvatura de segundo grado

en la fórmula de interpolación cuadrática.

El coeficiente 2c es muy similar a la aproximación en diferencias divididas

finitas de la segunda derivada.

Obsérvese que el polinomio cuadrático se consigue añadiendo un nuevo

término, de grado 2, al polinomio lineal

( ) ( ) [ ]( )( )2 1 0 1 2 0 1, ,p x p x x x x x x x x= + − −

Veamos que el error cometido al aproximar el log de 2 por interpolación lineal

disminuye si dotamos a la línea que une los puntos de alguna curvatura a través

de añadir un punto más y, como consecuencia, un término de 2º grado.

Ejemplo 3.5 Estime el logaritmo natural de 2 mediante interpolación lineal entre los tres puntos 1, 4 y 6.

Solución. Usamos la ecuación (10) y una interpolación cuadrática para ( )ln 2

entre los puntos 0 1x = , 1 4x = y 2 6x = para obtener

( ) [ ] [ ]( ) [ ]( ) ( )2 0 0 1 0 0 1 2 0 12 , 2 , , 2 2p x x x x x x x x x= + − + − − .

La tabla de datos viene dada por

1 4 6

0 1.386294 1.791759

La tabla de diferencias divididas viene dada por

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ +

0x [ ]0x

[ ]0 1,x x

1x [ ]1x [ ]0 1 2, ,x x x

[ ]1 2,x x

2x [ ]2x

*Las diferencias divididas finitas en color burdeos son los coeficientes del polinomio interpolador.

La diferencia dividida [ ] [ ] [ ]1 0

0 1

1 0

,x x

x xx x

−=

− es [ ] 1.386294 0

1,4 0.46209814 1

−= =−

Page 11: Tema 3 Interpolacion Polinomial 07-12-2012

11

y [ ] [ ] [ ]2 1

1 2

2 1

,x x

x xx x

−=

− es [ ] 1.791759 1.386294

4,6 0.20273256 4

−= =−

Por otra parte, la diferencia dividida [ ] [ ] [ ]1 2 0 1

0 1 2

2 0

, ,, ,

x x x xx x x

x x

−=

− resulta

[ ] 0.2027325 0.46209811,4,6 0.051873

6 1

−= = −−

Las diferencias divididas necesarias para nuestra interpolación cuadrática se

muestran en la tabla siguiente:

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ +

1 0

0.4620981

4 1.386294 0.051873−

0.2027325

6 1.791759

Y, por tanto, la curva de interpolación viene dada por

( ) [ ] [ ]( ) [ ]( ) ( )( ) ( )( )

2 0 0 1 0 0 1 2 0 1

2

, , ,

0 0.4620981 1 0.051873 1 4

0.669490 0.721346 0.051873

p x x x x x x x x x x x x x

x x x

x x

= + − + − −

= + − − − −

= − + −

que evaluado en 2 resulta

( )2 2 0.669490 0.721346 2 0.051873 4 0.5658444p = − + × − × =

y presenta un error: 0.6931472-0.5658444

0.183659 18,4%0.6931472

error = = ≈ .

61 2 4

p1(x)1.3862

0.6931

0.4620

0.5658

1.7917

Figura. 6 Interpolación Cuadrática.

Page 12: Tema 3 Interpolacion Polinomial 07-12-2012

12

De este modo, la curvatura determinada por la fórmula cuadrática (figura 6)

mejora la interpolación comparándola con el resultado obtenido antes al usar las

líneas rectas del ejemplo 3.3, figura 5.

Esta forma de proceder tiene la ventaja de que el polinomio cuadrático se consigue, conservando la estructura anterior, añadiendo un nuevo término al polinomio lineal

( ) ( ) [ ]( )( )2 1 0 1 2 0 1, ,p x p x x x x x x x x= + − −

De contar con un punto más estaríamos ante la interpolación cúbica:

0x 1x 2x 3x

0y 1y 2y 3y

cuyo polinomio de interpolación se obtiene procediendo de forma idéntica a

como se procede en los casos lineal y cuadrático, añadiendo un nuevo término a

( )2p x , el término de grado 3:

( ) ( ) [ ]( )( )( )

[ ] [ ]( ) [ ]( )( ) [ ]( )( )( )

3 2 0 1 2 3 0 1 2

0 0 1 0 0 1 2 0 1 0 1 2 3 0 1 2

, , ,

, , , , , ,

p x p x x x x x x x x x x x

x x x x x x x x x x x x x x x x x x x x x x

= + − − −

= + − + − − + − − −

(11)

( ) [ ] [ ]( ) [ ]( ) ( )

[ ]( ) ( )( )

3 0 0 1 0 0 1 2 0 1

0 1 2 3 0 1 2

, , ,

, , ,

p x x x x x x x x x x x x x

x x x x x x x x x x

= + − + − −

+ − − −

donde [ ] [ ] [ ]1 2 3 0 1 2

0 1 2 3

3 0

, , , ,, , ,

x x x x x xx x x x

x x

−=

−, la tabla de diferencias divididas se amplía en la

forma siguiente:

En la tabla anterior puede apreciarse la naturaleza recursiva de las

diferencias divididas finitas y en la tabla siguiente como se amplía conociendo

un dato más.

Page 13: Tema 3 Interpolacion Polinomial 07-12-2012

13

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ + [ ]1 2 3, , ,i i i ix x x x+ + + [ ]1 2 3 4, , , ,i i i i ix x x x x+ + + +

0x [ ]0 *x

[ ]0 1,x x

1x [ ]1x [ ]0 1 2, ,x x x

[ ]1 2,x x [ ]0 1 2 3, , ,x x x x

2x [ ]2x [ ]1 2 3, ,x x x [ ]0 1 2 3 4, , , ,x x x x x

[ ]2 3,x x [ ]1 2 3 4, , ,x x x x

3x [ ]3x [ ]2 3 4, ,x x x

[ ]3 4,x x

4x [ ]4x

*Las diferencias divididas finitas en color burdeos son los coeficientes del polinomio interpolador.

Veremos en el ejemplo 3.7 la interpolación cúbica añadiendo un nodo más a

los datos del ejemplo 3.5.

2.2 Cálculo del polinomio interpolador de grado n por el método de las diferencias divididas de Newton.

El análisis anterior puede generalizarse para ajustar a n+1 datos un polinomio

de n-ésimo grado:

(12) ( ) ( ) ( ) ( ) ( )( ) ( )0 1 0 2 0 1 0 1 1... ...n n np x c c x x c x x x x c x x x x x x −= + − + − − + + − − −

Tal como hemos procedido con la interpolación lineal y cuadrática, si se

utilizan n+1 puntos para obtener los coeficientes del polinomio (2.12),

0 1, , ,..., nc c c , se obtiene el siguiente resultado:

[ ] [ ] [ ] [ ]0 0 1 0 1 20 1 12 0 1, , , , , ,.. , ,..., ,..., n nnx x x x xc c x x x x xc c −= = = =

donde la n-ésima diferencia dividida finita viene dada por

[ ] [ ] [ ]1 1 0 1 1

0 1 1

0

,..., , , ,...,, ,..., , n n n

n n

n

x x x x x xx x x x

x x

− −−

−=

y el polinomio de interpolación (2.12) se expresa entonces en la forma siguiente:

(13) ( ) [ ] [ ]( ) [ ]( )( )

[ ]( )( ) ( )0 0 1 0 0 1 2 0 1

0 1 1 0 1 1

, , ,

... , ,..., , ...

n

n n n

p x x x x x x x x x x x x x

x x x x x x x x x x− −

= + − + − −

+ + − − −

que se conoce como polinomio de interpolación de Newton en diferencias

divididas.

La forma en que hemos procedido a la interpolación nos ha conducido al

método de interpolación de diferencias divididas de Newton, uno de los más

Page 14: Tema 3 Interpolacion Polinomial 07-12-2012

14

populares por su característica de método constructivo recursivo. El método se

puede formalizar en la definición y teorema siguientes:

Definición. 3.3. (Diferencias Divididas). Se definen para 0,1,...,i n= las

diferencias divididas finitas en la forma:

[ ]

[ ] [ ] [ ]

[ ] [ ] [ ]

[ ] [ ] [ ]

0 0

1

1

1

1 2 1

1 2

2

1 1 0 1 1

0 1 1

,

, ,, ,

.....

,..., , , ,...,, ,..., ,

i i

i i

i i

i i i i

i i i

i i

n n n

n n

i n i

x y

x xx x

x x

x x x xx x x

x x

x x x x x xx x x x

x x

++

+

+ + ++ +

+

− −−

+

=

−=

−−

=−

−=

Se construye así una tabla de números:

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ + [ ]1 2 3, , ,i i i ix x x x+ + +

0x [ ]0 *x

1x [ ]1x [ ]0 1,x x

2x [ ]2x [ ]1 2,x x [ ]0 1 2, ,x x x

3x [ ]3x [ ]2 3,x x [ ]1 2 3, ,x x x [ ]0 1 2 3, , ,x x x x

: : : : : :

1nx − [ ]1nx − [ ]2 1,n nx x− − [ ]3 2 1, ,n n nx x x− − − [ ]4 3 2 1, , ,n n n nx x x x− − − − …

nx [ ]nx [ ]1,n nx x− [ ]2 1, ,n n nx x x− − [ ]3 2 1, , ,n n n nx x x x− − − …

*Los elementos en color burdeos son los coeficientes del polinomio interpolador.

La relación existente entre las diferencias divididas y el polinomio interpolador

viene dada por el siguiente resultado:

Teorema. 3.2. (Diferencias Divididas Finitas). El polinomio interpolador de

Lagrange en los nodos ( ) ( ) ( )0 0 1 1, , ,n nx y x y x y, ,..., es:

(14) ( ) ( ) ( ) ( ) ( )( ) ( )0 1 0 2 0 1 0 1 1... ...n n np x c c x x c x x x x c x x x x x x −= + − + − − + + − − −

siendo [ ]0 1, ,...,i ic x x x= .

Observación. Ventajas del método de diferencias divididas de Newton:

1. Su cálculo es sencillo.

2. Es fácil pasar a polinomios de grado superior añadiendo nuevos nodos.

3. Es fácil pasar a polinomios de grado inferior eliminando nodos.

Page 15: Tema 3 Interpolacion Polinomial 07-12-2012

15

Ejemplo 3.6. Construir la tabla de diferencias divididas, hasta el orden 3, a partir de los seis puntos siguientes:

0 0.5 1 2 3 4

0 0.7071 1 1.4142 1.7321 2

La tabla de diferencias divididas se puede construir en SCILAB por órdenes

semejantes a las siguientes:

x=[0 0.5 1 2 3 4]';

y=[0 0.707 1 1.4142 1.7321 2]';

m=3;

DD= tdifdiv(x,y,m);

DD=[x,DD]

function DD= tdifdiv(x,y,m);

n = size(x,1)

DD = zeros(n,m+1);

DD(:,1) = y;

for j=1:m

for i=1:n-j

DD(i,j+1) = ( DD(i+1,j) - DD(i,j) )/( x(i+j) - x(i) );

end

end

endfunction

SCILAB (tdifdiv, para los datos x e y con diferencias divididas de orden m=3)

-->tdifdiv(x,y,3)

Tabla de diferencias divididas finitas de orden 3:

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ + [ ]1 2 3, , ,i i i ix x x x+ + +

0.0 0.0000

1.4142

0.5 0.7071 -0.8284

0.5858 0.3570

1.0 1.0000 -0.1144

0.4142 0.0265

2.0 1.4142 -0.0482

0.3179 0.0077

3.0 1.7321 -0.0250 0.2679

4.0 2.0000

Page 16: Tema 3 Interpolacion Polinomial 07-12-2012

16

Ejemplo 3.7 En el ejemplo 3.5 , se utilizaron los nodos 0 1x = , 1 4x = y

2 6x = para estimar ( )ln 2 mediante una parábola. Ahora, agregando un cuarto

nodo ( 3 5x = , ( )3 ln 5 1.609438y = = ) estime ( )ln 2 con un polinomio de

interpolación de Lagrange de tercer grado obtenido por el método de las

diferencias divididas de Newton.

Solución: La tabla de datos viene dada por

1 4 6 5

0 1.386294 1.791759 1.609438

Para resolver el problema planteado utilizamos la interpolación cúbica

mediante el método de diferencias divididas de Newton entre los puntos 0 1x = ,

1 4x = , 2 6x = y 3 5x = .

El polinomio de Lagrange evaluado en x=2 entre los puntos 0 1x = , 1 4x = ,

2 6x = y 3 5x = viene dado por :

( ) [ ] [ ]( ) [ ]( )( ) [ ]( )( ) ( )3 0 0 1 0 1 2 0 1 2 32 , 2 1 , , 2 1 2 4 , , , 2 1 2 4 2 6p x x x x x x x x x x= + − + − − + − − −

La tabla de diferencias divididas para los nodos 0 1x = , 1 4x = y 2 6x = , que ya

hemos obtenido en ejemplos anteriores, es la siguiente:

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ +

0.4620981

4 1.386294 0.051873−

0.2027325

6 1.791759

Debemos completar la tabla de diferencias divididas de orden 2 con la

diferencia dividida de orden 3 más las de orden 2 necesarias:

La tabla se completa con el nuevo nodo en la siguiente forma:

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ + [ ]1 2 3, , ,i i i ix x x x+ + +

1 0

0.4620981

4 1.386294 0.051873−

0.2027325 [ ]0 1 2 3, , ,x x x x

6 1.791759 [ ]1 2 3, ,x x x

[ ]2 3,x x

5 1.609438

Page 17: Tema 3 Interpolacion Polinomial 07-12-2012

17

Para calcular el coeficiente [ ]0 1 2 3, , ,x x x x , correspondiente al término de 3º

grado, utilizamos la definición 3.3. Por un lado,

[ ] [ ] [ ][ ] [ ] [ ] [ ]2 3

1

1 2 1 2 0 1

0 1 2 3 1 2 1

3 0 3 0

2 3

0 1 2 3

,

,

, , ,

,, ,

, ,,

x x x x x x

x x x

x x

x x xx x x x

x x x x

x x x x

− −−

− − −= =− −

[ ] [ ] [ ]2 3

1 2 3

1 2

3 1

,, ,

,x x x x

xx

xx x

−=

[ ] [ ] [ ]3

2

2

3

3

2

,x

xx

x xx

−=

por otro lado, las primeras diferencias divididas del problema son

[ ]0 1, 0.4620981x x =

[ ]1 2, 0.2027325x x =

[ ] [ ] [ ]3

2

2

2

3

3

1.609438 1.791759

5, 0.1823216

6x

x x

x xx

− −= = =− −

las segundas diferencias divididas del problema son

[ ] [ ] [ ]1 2 0 1

0 1 2

2 0

, , 0.2027325 0.4620981, , 0.05187311

6 1

x x x xx x x

x x

− −= = = −− −

[ ] [ ] [ ]2 3

1 2 3

1 2

3 1

, 0.182, 0.2023216, , 0.0204110

20

73 5

5 4

x x

x

x xx x x

x

− −= = = −− −

la tercera diferencia dividida del problema es

[ ] [ ] [ ]1 2 3

0 1 2 3

0 1 2

3 0

, , 0.2041100, , , 0.00

, , ( 0.05187311)

5 17865529

x x xx x x x

x x x

x x

− − − =−

−= =−

La tabla de diferencias divididas resulta:

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ + [ ]1 2 3, , ,i i i ix x x x+ + +

1 0*

0.4620981

4 1.386294 0.051873−

0.2027325 0.007865529

6 1.791759 0.020411−

0.1823216

5 1.609438

*Los elementos en color burdeos son los coeficientes del polinomio interpolador.

Page 18: Tema 3 Interpolacion Polinomial 07-12-2012

18

Por tanto, el polinomio de Lagrange obtenido por interpolación cúbica

mediante el método de diferencias divididas de Newton, viene dado por la

expresión,

( ) ( ) ( )( ) ( )( )( )3 2 0 0.4620981 1 0.051873 1 4 0.007865529 1 4 6p x x x x x x= + − − − − + − − −

que evaluado en 2 resulta: ( )3 2 0.6287686p =

La interpolación presenta un error: 0.6931472-0.6287686

0.093 9,3%0.6931472

error = = ≈ .

0.6931

2

0.6287

Figura. 7 Interpolación Cúbica. Método de las diferencias divididas de Newton.

x=[1; 4; 6; 5];

y=[0; 1.386294; 1.791759; 1.609438];

m=3;

DD= tdifdiv(x,y,m);

DDSAL=[x,DD]

Ejemplo. 3.8 Construir la tabla de diferencias divididas, hasta el orden 4,

con SCILAB, a partir de los 5 puntos siguientes:

1 2 3 4 5

2 -1 4 3 -2

y a partir de ella construir el polinomio interpolador de Lagrange de grado 4

por el método de las diferencias divididas de Newton.

Utilizamos la función tdifdiv en SCILAB para datos x e y orden m=4.

--> tdifdiv(x,y,4)

Con la salida de tdifdiv confeccionamos la tabla siguiente:

ix [ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ + [ ]1 2 3, , ,i i i ix x x x+ + + [ ]1 2 3 4, , , ,i i i i ix x x x x+ + + +

1 2 -3.0000 4.0000 - 2.333333 0.6666667

2 -1 5.0000 -3.0000 0.333333

3 4 -1.0000 -2.0000

4 3 -5.0000

5 -2

Page 19: Tema 3 Interpolacion Polinomial 07-12-2012

19

El polinomio de Lagrange correspondiente viene dado por

( ) ( ) ( )( ) ( )( )( )( ) ( ) ( )( )

4 2 3 1 4 1 2 2.333333 1 2 3

+0.6666667 1 2 3 4

p x x x x x x x

x x x x

= − − + − − − − − −

− − − −

Ejercicio 3.0 (Propuesto) Resolver mediante el método de diferencias divi-didas de Newton la siguiente cuestión (a desarrollar por los alumnos):

Encontrar una aproximación de (3.5)f de la función tabulada:

x 1 2 3 4 5

( )y f x=

2 -

1

4 3 -

2

1. Utilizando un polinomio de grado 2

2. Utilizando un polinomio de grado 3

3. Utilizando un polinomio de grado 4

2.3 Cálculo por el método de Lagrange.

Un segundo método importante para calcular el polinomio interpolador es el

método de Lagrange. Este método consiste en una reformulación del método de

Newton y su principal característica es que evita el cálculo de las diferencias

divididas finitas. De hecho el polinomio de interpolación de Lagrange se obtiene

de manera directa a partir de la formulación el polinomio de Newton. Lo haremos

únicamente para los casos de los polinomios de primer y segundo grado, para

otros grados se hace de manera similar.

La primera diferencia dividida

(15) [ ] [ ] [ ]1 0

0 1

1 0

,x x

x xx x

−=

puede ser reformulada en la forma

(16) [ ] [ ] [ ] [ ] [ ] [ ] [ ]1 0 1 0

1 0 1 0

1 0

0 1

1 11 00 0

,x x

xx x x x

x x x x x xx

x x x x

−= = − +

−=

− −− −

conocida como la forma simétrica. Si se sustituye la ecuación (16) en la formula

de la interpolación lineal (4) se obtiene

( ) [ ] [ ]( ) [ ] [ ] [ ] ( )

[ ] [ ] [ ] [ ] [ ]

1 0

1 0 0 1 0 0 0

1 0 0 1

0 0 010 1 0 0 1

1 0 0 1 0 1 1 0

,x x

p x x x x x x x x xx x x x

x x x x x xx xx x x x x

x x x x x x x x

= + − = + + − − −

− − −−= + + = +− − − −

y sustituyendo [ ]0x por 0y y [ ]1x por 1y se tiene,

Page 20: Tema 3 Interpolacion Polinomial 07-12-2012

20

(17) ( ) 011 0 1

0 1 1 0

x xx xp x y y

x x x x

−−= +− −

,

que es el polinomio de Lagrange de grado 1.

( )1p x puede escribirse en la forma siguiente ( )1 0 0 1 1( ) ( )p x y L x y L x= + , donde

10

0 1

01

1 0

( )

( )

x xL x

x x

x xL x

x x

− = − − = −

Como puede observarse el polinomio 0 ( )L x toma el valor 1 en 0x x= y 0 en 1x x= ,

con 1( )L x ocurre lo contrario. Esta característica es la que asegura que el

polinomio pasa por los puntos ( )0 0,x y y ( )1 1,x y , puesto que en 0x se anula el 2º

sumando y resulta ( )1 0p x y= y en 1x se anula el 1º sumando y resulta ( )1 1p x y= .

Si repetimos el mismo proceso para la interpolación cuadrática se tiene

(18) ( ) ( ) ( )( ) ( )

( )( )( )( )

( ) ( )( ) ( )

1 2 0 2 0 1

2 0 1 2

0 1 0 2 1 0 1 2 2 0 2 1

x x x x x x x x x x x xp x y y y

x x x x x x x x x x x x

− − − − − −= + +

− − − − − −

es decir, también ( )2p x se puede expresar en forma de combinación de

polinomios ( )kL x , ( )2 0 0 1 1 2 2( ) ( ) ( )p x y L x y L x y L x= + + , donde

( )( )( )( )( )( )

( )( )( ) ( )

( ) ( )

1 2

0

0 1 0 2

0 2

1

1 0 1 2

0 1

2

2 0 2 1

( )

( )

( )

x x x xL x

x x x x

x x x xL x

x x x x

x x x xL x

x x x x

− −= − −

− − = − − − − =

− −

El polinomio 0 ( )L x toma el valor 1 en 0x x= y 0 en 1x x= y en 2x x= , 1( )L x

toma el valor 1 en 1x x= y 0 en 0x x= y en 2x x= , y, por último, 2 ( )L x toma el

valor 1 en 2x x= y 0 en 0x x= y en 1x x= . De modo similar al caso lineal esta

característica es la que asegura que el polinomio pasa por los puntos ( )0 0,x y ,

( )1 1,x y y ( )2 2,x y , resultando ( )2 0 0p x y= , ( )2 1 1p x y= y ( )2 2 2p x y= .

Con los mismos razonamientos podríamos deducir la estructura funcional de

un polinomio de cualquier grado en términos análogos, lo que induce el

planteamiento del método de Lagrange del cálculo del polinomio interpolador, la

definición de polinomio de Lagrange y su teorema asociado.

Page 21: Tema 3 Interpolacion Polinomial 07-12-2012

21

Método de Lagrange: Si existen polinomios ( )kL x de grado n tales que:

1( )

0k kj

k jL x

k jδ

== = ≠

entonces

( ) 0 0 1 1( ) ( ) ... ( )n np x y L x y L x y L x= + + +

es un polinomio de grado n≤ y ( )k kp x y= para 0,1,...,k n= .

( )p x es, por tanto, el Polinomio Interpolador que pasa por los puntos

( ),k kx y para 0,1,...,k n= .

Definición. 3.4 (Polinomios de Lagrange). Dados (n+1) puntos ( ),k kx y con

k jx x≠ para 0,1,...,k n= , los polinomios

( )( )( )

ii kk

k ii k

x xL x

x x

−=

−∏∏

reciben el nombre de Polinomios de Lagrange.

Teorema. 3.3 (Polinomio Interpolador de Lagrange). El polinomio

interpolador de Lagrange en los puntos ( )0 0,x y , ( )1 1,x y , …, ( ),n nx y , es

( ) 0 0 1 1( ) ( ) ... ( )n np x y L x y L x y L x= + + +

Por ejemplo, el polinomio de grado menor o igual que 3 que aproxima a la

función ( )( )f x sen x= en el intervalo [ ]0,3 y que pasa por los puntos:

x 0 1 2 3

( )y sen x= ( )0sen ( )1sen ( )2sen ( )3sen

viene dado por:

( )( )( )( ) ( ) ( )

( )( )( )( )( )( )

( )( )( )( ) ( ) ( )

( )( )( )( ) ( )( )

0 1

2 4

1 2 3 0 2 3( ) ( )

0 1 0 2 0 3 1 0 1 2 1 3

0 1 3 0 1 2( ) ( )

2 0 2 1 2 3 3 0 3 1 3 2

x x x x x xL x L x

x x x x x xL x L x

− − − − − −= =

− − − − − −

− − − − − −= =

− − − − − −

3 2 3 2

0 1

3 2 3 2

2 4

( ) 6 11 6 1 ( ) 2 5 2 3

( ) 2 2 3 2 ( ) 6 2 3

L x x x x L x x x x

L x x x x L x x x x

= − + − + = − +

= − + − = − +

Y la aproximación a ( )3sen π por evaluación del polinomio de interpolador

( ) ( ) ( ) ( ) ( )0 1 20 ( ) 1 ( ) 2 ( ) 3 ( )np x sen L x sen L x sen L x sen L x= + + +

en 3π es:

( ) ( ) ( ) ( )1 2/ 3 0.8414710 / 3 0.9092974 / 3 0.1411200 / 3np L L Lπ π π π= + +

Page 22: Tema 3 Interpolacion Polinomial 07-12-2012

22

2.4. Error de Interpolación.

La estructura de la ecuación (13) es similar a la expansión de la serie de Taylor

en el sentido de que se van agregando términos en forma secuencial, para

mostrar el comportamiento de orden superior de la función. Estos términos son

diferencias divididas finitas y, así, representan aproximaciones de las derivadas

de orden superior. En consecuencia, como ocurre con la serie de Taylor, si la

función verdadera es un polinomio de n-ésimo grado, entonces el polinomio de

interpolación de n-ésimo grado basado en n + 1 puntos dará resultados exactos.

También, como en el caso de la serie de Taylor, es posible obtener una

formulación para el error de truncamiento. Recordemos que el error de

truncamiento en la serie de Taylor se expresa en forma general como

(19) ( )

( ) ( )( 1

1

11 !

nn

n i i

fR x x

n

ξ++

+= −+

donde ( )1 ,i ix x x+∈ .

Para un polinomio de interpolación de n-ésimo grado, existe una expresión

análoga para el error:

(20) ( )

( ) ( ) ( ) ( )( 1

0 1 ...1 !

n

n n

fR x x x x x x

n

ξ+

= − − −+

fundamentada en el siguiente teorema:

Teorema 3.4. (Error de interpolación). Si es ( )f x de clase [ ]( )1 ,nC a b+ y

( )p x es el Polinomio Interpolador de ( )f x en los n+1 nodos siguientes

0 1 2 ... na x x x x b= < < < < =

entonces para cada [ ],x a b∈ existe un ( ),xc a b∈ tal que

(21) ( ) ( ) ( )( ) ( ) ( ) ( )( 1

0 1 ...1 !

n

x

n

f cf x p x x x x x x x

n

+

− = − − −+

Observaciones:

a) ( ) ( )nR f x p x= −

b) Si existe una cota superior M de la derivada (n+1) de ( )f x en

[ ],a b entonces

(22) ( ) ( ) ( ) ( )( ) ( )0 1 ...1 !

n

Mf x p x x x x x x x

n− ≤ − − −

+

Page 23: Tema 3 Interpolacion Polinomial 07-12-2012

23

Para que las formulas (21) y (22) sean aplicables es necesario conocer ( )f x y,

además, ( )f x debe ser de clase [ ]( )1 ,mC a b+; habitualmente este no es el caso.

Por fortuna, hay una formulación alternativa que no requiere del conocimiento

previo de la función ( )f x . Ante tal desconocimiento se utiliza la (n+1)

diferencia dividida finita, 0 1 –1[ , ,. . . , , , ]n nx x x x x , para aproximar ( )

( )( 1

1 !

n

xf c

n

+

+; de este

modo (21) se reformula en términos aproximados en la forma:

(23) ( ) ( ) ( )( ) ( )0 1 –1 0 1[ , ,. . . , , , ] ...n n n nR f x p x x x x x x x x x xx x= − − − −≃

Debido a que la ecuación (23) contiene la incógnita [ ]x , implícita en

0 1 –1[ , ,. . . , , , ]n nx x x x x , no es posible utilizarla para obtener el error nR , salvo que se

cuente con un dato más, 1[ ]nx + , en cuyo caso la ecuación (23) puede expresarse

en la forma

(24) ( ) ( ) ( )( ) ( )0 1 –1 1 0 1[ , ,. . . , , , ] ...n n nn nR f x p x x x x x x x x x x xx += − − − −≃

y puede usarse para estimar el error ( ) ( )nR f x p x= − .

Observaciones:

a) Si [ ],x a b∉ estaremos extrapolando, no interpolando.

b) El error puede ser muy grande si hay muchos nodos o si x no está próximo a ellos.

Ejemplo. 3.10 Se desea aproximar la función ( ) ( )cosf x x= en el intervalo

[ ]0, 2π usando los siguientes datos:

x 0 6π 4π 3π 2π

cos( )y x= 1 3 2 2 2 1 2 0

a) Usando la fórmula de acotación del error, predecir cuál será el máximo error de interpolación en todo el intervalo [ ]0, 2π , cuando se usa un

polinomio interpolador ( )p x de grado 4≤ .

b) Aproximar el valor de ( ) ( )1 cos 1f = mediante el polinomio ( )p x , calcular

el error real cometido y comprobar que dicho error es menor que la cota obtenida en (a).

c) Aproximar el valor de ( ) ( )1 cos 1f = mediante interpolación lineal en los

nodos más cercanos, y determinar el error cometido. ¿Cuál de los dos métodos produce un error menor?

Page 24: Tema 3 Interpolacion Polinomial 07-12-2012

24

Solución:

a) Recordemos que por el teorema del error de interpolación:

Si es ( )f x de clase [ ]( )1 ,mC a b+ y ( )p x es el Polinomio Interpolador de ( )f x

en los

0 1 2 ... na x x x x b= < < < < =

entonces para cada [ ],x a b∈ existe un ( ),xc a b∈ tal que

( ) ( ) ( )( ) ( )( ) ( )( 1

0 1 ...1 !

n

x

n n

f cR f x p x x x x x x x

n

+

= − = − − −+

Además, si existe una cota superior M de la derivada (n+1) de ( )f x en

[ ],a b entonces

( ) ( ) ( ) ( )( ) ( )0 1 ...1 !

n

Mf x p x x x x x x x

n− ≤ − − −

+

En nuestro caso estamos en las hipótesis del teorema en el intervalo [ ]0, 2π ,

puesto que ( ) ( )cosf x x= es de clase [ ]( )1 0, 2nC π+ , y si ( )p x es el Polinomio

Interpolador de cos( )x en los puntos

0 6 4 3 2a bπ π π π= < < < < =

entonces para cada [ ]0, 2x π∈ existe un ( )0, 2xc π∈ tal que

( ) ( ) ( )( ) ( ) ( )( )( )( )(4 1

4 4 0 6 4 3 24 1 !

xf cR f x p x x x x x xπ π π π

+

= − = − − − − −+

Además, 1 es una cota superior M de la derivada 5ª de ( ) cos( )f x x= en

( )0, 2π , por lo que

( ) ( ) ( ) ( ) ( ) ( )( )( )10 6 4 3 2

5 !nR f x p x x x x x xπ π π π= − ≤ − − − − −

b) Para calcular el polinomio de interpolación ( )p x , a partir de la tabla

x 0 0.523586 0.785379 1.047172 1.570758

cos( )y x= 1 0.8660254 0.7071068 0.5 0

utilizamos la función tdifdiv.

El comando --> tdifdiv(x,y,4) nos proporciona la tabla de coeficientes del

polinomio interpolador de orden 4.

[ ]ix [ ]1,i ix x + [ ]1 2, ,i i ix x x+ + [ ]1 2 3, , ,i i i ix x x x+ + + [ ]1 2 3 4, , , ,i i i i ix x x x x+ + + +

1 - 0.2558789 - 0.4471220 0.0912610 0.0288004

Page 25: Tema 3 Interpolacion Polinomial 07-12-2012

25

( ) ( ) ( )( )( )( )( )

( )( )( )( )

4 1 0.2558789 0 0.4471220 0) 0.523586

0.0912610 0 0.523586 0.785379

0.028800 0 0.523586 0.785379 1.047172

p x x x x

x x x

x x x x

= − − − − −

+ − − −

+ − − − −

que evaluado en x=1 resulta

( ) ( )( )( )

( )( )( )

4 1 1 0.2558789 0.4471220 1 0.523586

0.0912610 1 0.523586 1 0.785379

0.028800 1 0.523586 1 0.785379 1 1.047172

0.5402986

p = − − −

+ − −

+ − − −

=

( )4p x presenta el siguiente error:

a) 0.5403023-0.5402986 0.0000037error absoluto = =

b)0.5403023-0.5402986

0.0000068 0.00068%0.5403023

error relativo = = ≈ .

Por otra parte, la acotación del error viene dada por:

( ) ( ) ( ) ( )( )( )( )4 4

1cos 1 1 1 0 1 6 1 4 1 3 1 2 0.0000228

5!R p π π π π= − ≤ − − − − − =

Si contamos con un punto más, (2,-0.4161468) podemos utilizar la

aproximación:

( ) ( ) ( )( ) ( )0 1 –1 1 0 1[ , ,. . . , , , ] ...n n nn nR f x p x x x x x x x x x x xx += − − − −≃

que en nuestro caso es

( ) ( ) ( )( ) ( )( )( )4 41 1 0.0067150 1 0 1 6 1 4 1 3 1 2

0.0000185

R f p π π π π= − − − − − − −

=

c) Para aproximar el valor de ( ) ( )1 cos 1f = mediante interpolación lineal en los

nodos más cercanos tendremos en cuenta que los nodos más cercanos son

x 0.785379 1.047172

cos( )y x= 0.7071068 0.5

Utilizando tdifdiv, para m=1:

--> tdifdiv(x,y,1) se obtienen los siguientes coeficientes de la recta de interpolación:

[ ]ix [ ]1,i ix x +

0.70710681 - 0.7911090

Page 26: Tema 3 Interpolacion Polinomial 07-12-2012

26

( ) ( )1 0.7071068 0.7911090 0.785379p x x= − −

que evaluado en x=1 resulta

( ) ( )1 1 0.7071068 0.7911090 1 0.785379 0.5373182p = − − =

y presenta error: a) 0.5403023-0.5373182 0.0029841error absoluto = =

b)0.5403023-0.5373182

0.0055230 0.55%0.5403023

error relativo = = ≈ .

La curva de interpolación de grado 4 aproxima mejor en 1 el coseno que la

recta de interpolación.

2.5 Interpolación por splines

En los problemas de interpolación mediante polinomios de grado mayor o

igual que 4 aparecen oscilaciones, las cuales en la mayoría de las aplicaciones

resultan indeseables, para evitarlo se utiliza a menudo la interpolación mediante

splines, porque da lugar a resultados que requieren solamente el uso de

polinomios de grado 1, 2 y 3 que evitan tales las oscilaciones.

Estas oscilaciones son una consecuencia del llamado efecto borde, que

podemos apreciar en las siguientes figuras y que ilustraremos con el ejercicio 3.1.

Figura. 8 Tres Nodos 11

Page 27: Tema 3 Interpolacion Polinomial 07-12-2012

27

Figura. 9 Cinco Nodos

Figura. 10 Siete Nodos

Figura. 11 Nueve Nodos

Page 28: Tema 3 Interpolacion Polinomial 07-12-2012

28

Ejercicio. 3.1 Consideremos la función de Runge en el intervalo [ ]5,5− :

2

1( )

1f x

x=

+

a) Obtener el polinomio de interpolación de grado 4 que aproxima a la función

de Runge tomando 5 nodos equiespaciados en el intervalo [ ]5,5− .

b) Comprobar que al aumentar el grado del polinomio interpolador, en vez de mejorar la aproximación global, esta empeora.

Solución:

a)

Representación gráfica de la función de Runge (http://www.fooplot.com/):

En el caso en que todos los nodos tienen la misma separación entre ellos

(nodos equiespaciados), se pueden obtener expresiones aún más sencillas del

polinomio de Lagrange.

Si h es el paso, entonces 0 , 0,1,...,jx x jh j n= + =

5 nodos equiespaciados en el intervalo [ ]5,5− ⇒ 5 2.5, 0,1,..., 4jx j j= − + × = .

1) Cargamos la librería interpol

(%i1) load(interpol);

2) Definimos la función de Runge

(%i2) f(x):=1/(1+x^2);

Page 29: Tema 3 Interpolacion Polinomial 07-12-2012

29

3) Definimos la lista (xi,f(xi)) en 5 nodos equiespaciados en [ ]5,5−

(%i3) puntos:makelist([-5+2.5*k,f(-5+2.5*k)], k, 0, 4);

(%o3)

4) Obtención del polinomio de grado 4 que aproxima a la función de Runge en los 5 nodos equidistantes en [ ]5,5− ,

(%i4) lagrange(puntos);P4(x):=''%; (%o4)

5) Representación gráfica de las funciones ( )f x y 4 ( )p x en [ ]5,5− :

(%i6) plot2d([f(x),P4(x)],[x,-5,5]);

(%o6)

Como puede apreciarse en la gráfica, el efecto borde está presente.

b) Vamos a comprobar que al aumentar el grado del polinomio interpolador la aproximación global empeora, en vez de mejorar. Para ello repetimos con n=10 (11 nodos equiespaciados).

� (%i7) puntos:makelist([-5+k,f(-5+k)], k, 0, 10);

(%o7)

Page 30: Tema 3 Interpolacion Polinomial 07-12-2012

30

� (%i8) lagrange(puntos);P10(x):=''%; (%o8)

(%i9) plot2d([f(x),P4(x),P10(x)],[x,-5,5]);

(%o9)

fun2: p4(x), fun3: p10(x)

Page 31: Tema 3 Interpolacion Polinomial 07-12-2012

31

Posibles soluciones para evitar el efecto borde son:

� 1.- Cuando sea posible, una selección adecuada de los nodos de interpolación, como, por ejemplo, los nodos de Chebyshev y otros a

conveniencia en función del problema a resolver, opción que es imposible

en la mayor parte de los problemas reales.

� 2.- Interpolación segmentaria, es decir, dividir el conjunto de nodos en

varios subconjuntos y calcular en cada subconjunto su correspondiente

polinomio interpolador (de menor grado). Algunas técnicas:

- Interpolación lineal a trozos (para cada par de nodos consecutivos se

obtiene un segmento recto de interpolación).

- Interpolación por splines cúbicos.

En el caso en que los datos provengan de una fuente a la que se le pueda

pedir valores para las abscisas que uno desee (por ejemplo, el caso en que uno

mismo haga mediciones sobre el objeto de estudio) existe un criterio para

elegirlas de manera tal que se reduzca el error producido por el fenómeno de

Runge (mayor error en extremos del intervalo). Este criterio consiste en requerir

las abscisas que se obtengan a partir de la siguiente expresión (los nodos de

Chebyshev, para n=4, es decir polinomio de grado n para interpolar entre n+1

puntos):

( ) ( )2 1cos , 0,1,...,

2 2 2 2k

b a kb ax k n

n

π− + += + = +

A continuación pasamos a comprobar que la aproximación mejora utilizando

nodos de Chebyschev.

En nuestro caso (intervalo [-5; 5] 5 5

02 2

b a+ −⇒ = = ,

( ) ( )( )5 55

2 2

b a − −−= = y

n = 4), los cinco nodos de Chebyshev son:

9 7 5 3 15cos , 5cos , 5cos 0, 5cos , 5cos

10 10 10 10 10π π π π π

=

� (%i10) Puntos:makelist([5*cos((2*k+1)/10*(%pi)),f(5*cos((2*k+1)/10*(%pi)))], k,0,4);

(%o10)

Page 32: Tema 3 Interpolacion Polinomial 07-12-2012

32

� (%i11) lagrange(puntos);PC(x):=''%; (%o11)

� (%i12) plot2d([f(x),PC(x)],[x,-5,5]);

(%o12)

Función 2 es el polinomio pC(x) con los cinco nodos de Chebyshev.

Page 33: Tema 3 Interpolacion Polinomial 07-12-2012

33

Como se observa en la gráfica, la situación es muy similar a la de los 5 nodos

equidistantes.

Veamos que la situación mejora bastante si aumentamos el número de nodos

de chebyshev, por ejemplo a 12:

� (%i13) puntos:makelist([5*cos((2*(n-k)+1)*(%pi)/(2*n+2)),(5*cos((2*(n-k)+1) *(%pi) / (2*n+2) ))] ,k,0,12);

(%o13)

� (%i14) lagrange(puntos);PC(x):=''%;

(%o14) << ¡Expresión excesivamente larga para ser mostrada! >> � (%i15) plot2d([f(x),PC(x)],[x,-5,5]);

(%015)

Page 34: Tema 3 Interpolacion Polinomial 07-12-2012

34

La interpolación polinómica a trozos o por segmentos, también llamada

universalmente “spline”, se caracteriza por el grado de los polinomios con los que

interpolamos en los subintervalos que para tal fin, distinguimos cuando

disponemos de un conjunto numeroso de nodos.

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 ideales

para la representación informatizada de curvas, particularmente en el terreno de

los gráficos por ordenador. Los splines son utilizados para la interpolación o

afinado de datos de una o varias dimensiones.

El nombre Spline proviene de la técnica de dibujo que usa una cinta delgada y

flexible para dibujar curvas suaves que pasan a través de un conjunto de puntos.

En los extremos la curva tiende a parecerse a una recta (segunda derivada nula),

de ahí el nombre de Spline Natural.

Una función spline está formada por varios polinomios, cada uno definido

sobre un subintervalo, que se unen entre sí obedeciendo a ciertas condiciones de

continuidad. Para dar una definición formal consideremos la partición del

intervalo [a,b]:

{ }0 1 ... na x x x bΓ = = < < < =

Al concepto de spline se llega de forma inmediata a través del concepto de

función polinomial troceada cuya definición se da a continuación:

Definición. 3.5 Una función polinomial troceada en [ ],a b se obtiene

dividiendo [ ],a b en intervalos consecutivos con fronteras contiguas llamadas

nodos y definiendo polinomios de grado bajo, funciones de base iS , que

interpolan a la función en dos nodos consecutivos ( ),i ix y y ( )1, 1i ix y+ + de la

partición Γ . El conjunto de funciones { } 1

0( )

n

i iS x S

== forma la curva polinomial a

trozos.

En el panel izquierdo de la figura 12 se representa una polinomial constante a

trozos con tres funciones de base.

(25)

( ) ( ) ( ) ( ) ( ) ( )1 2 20 0 1 1 2 2, ,o x x x x xx x

S x I c S x I c S x I c≤ < ≤<= = = = = =

(A título informativo): Puesto que estas funciones de base son positivas sobre

regiones disjuntas, el estimador de mínimos cuadrados del modelo

( ) ( )2

0

i i

i

S x S xβ=

=∑ es ˆi iYβ = , la media de Y en el i-ésimo subintervalo.

Podemos obtener una polinomial a trozos más “refinada” que la constante a

trozos sin más que considerar 3 funciones de base adicionales,

(26) ( ) ( ) ( ) ( ) ( ) ( )1 2 23 3 4 4 5 5, ,o x x x x xx x

S x xI xc S x xI xc S x xI xc≤ < ≤<= = = = = =

Page 35: Tema 3 Interpolacion Polinomial 07-12-2012

35

a. Coa. Coa. Coa. Connnnstantstantstantstanteeee a trozosa trozosa trozosa trozos

b. Lineal a trozosb. Lineal a trozosb. Lineal a trozosb. Lineal a trozos

x0 x1 x2 x3

x0 x1 x2 x3

Fuente: Hastie et al. (2009).

Figura Figura Figura Figura 12121212....---- Curvas polinomiales a trozos.

En este caso la curva polinomial obtenida es lineal a trozos, panel derecho de

la Figura 12.

Más “suave”, en el sentido de ajuste a una curva “lisa”, será la función

polinomial resultante de considerar la lineal a trozos con la restricción de

continuidad en los dos nudos.

Continuidad que podemos conseguir a través de dos alternativas:

a) Introducir funciones lineales sobre cada intervalo

(2.27)

0 0 0

1 1 1

2 2 2

S a x b

S a x b

S a x b

= + = + = +

( ) ( )( ) ( )

0 1 1 1

1 2 2 2

S x S x

S x S x

=

=

b) Una vía más directa para proceder en este caso es usar bases que incorporen

las restricciones como las siguientes:

(28) ( ) ( ) ( ) ( ) ( ) ( )0 1 2 0 3 11, , ,S x S x x S x x x S x x x+ +

= = = − = −

donde Z+ denota la parte positiva. La función 2S se muestra en la figura 13b).

Lineal a trozos continuaLineal a trozos continuaLineal a trozos continuaLineal a trozos continua a)a)a)a) b)b)b)b)

Fuente: Hastie et al. (2009).

Figura Figura Figura Figura 13131313---- Polinomial Lineal a trozos Continua.

Page 36: Tema 3 Interpolacion Polinomial 07-12-2012

36

DiscontinuDiscontinuDiscontinuDiscontinuaaaa ContinuContinuContinuContinuaaaa

Fuente: Hastie et al. (2009).

Figura Figura Figura Figura 14141414....---- Polinomial Lineal a trozos Continua y Discontinua.

Lo habitual es intentar ajustar a funciones “suaves”, lo que se consigue

aumentando el orden del polinomio local, Figura 14. Si, además, exigimos

derivadas de orden suficiente nuestra función de ajuste presentará sin duda una

apetecible curva suave como las representadas en la Figura, donde se ha exigido

1ª derivada continua en los nudos, panel izquierdo de la figura, o 2ª derivada

continua en los nudos, panel derecho de la figura.

1ª derivada continua1ª derivada continua1ª derivada continua1ª derivada continua

2ª derivada continua2ª derivada continua2ª derivada continua2ª derivada continua

Fuente: Hastie et al. (2009).

Figura Figura Figura Figura 15151515....---- Polinomiales con 1ª y 2ª Derivadas Continuas.

A partir de las figuras anteriores es fácil intuir el papel central que los

polinomiales troceados juegan en la interpolación y ajuste de datos.

Definición. 3.6 (Spline de grado k). Una función spline ( )S x en [ ],a b de grado

0k ≥ , correspondiente a la partición Γ , es una polinomial troceada { } 1

1( )

n

i iS x S

==

con n nodos que satisface las siguientes condiciones:

1. ( ) i iS x y= para cada 0,...,i n= ;

2. ( )iS x es un polinomio de grado menor o igual que k en el intervalo

Page 37: Tema 3 Interpolacion Polinomial 07-12-2012

37

1,i ix x + , 0,..., 1i n= − .

(29)

( ) [ ]( ) [ ]

( ) [ ]

1

0 0 0 0 0 1

1

1 1 1 1 1 2

1

1 1 1 1 1

... ,

... ,( )

...

... ,

k k

k k

k k

n n n n n

S x d b x a x x x x

S x d b x d x x x xS x

S x d b x a x x x x

−− − − − −

= + + + ∈ = + + + ∈= = + + + ∈

3. ( )S x es de clase k-1 en [ ] [ ]0, , na b x x= , es decir ( ) [ ]1 ,kS x C a b−∈ .

4. Las componentes ( ) ( )1i iS x S x+y interpolan el mismo valor en el punto

1ix + , (lo que asegura continuidad en los puntos):

(30) ( ) ( )1 1 1i i i iS x S x+ + += para cada 0,..., 2i n= − .

( ) ( ) ( ) ( ) ( ) ( )0 1 1 1 1 2 2 2 2 1 1 1, S , , n n n nS x S x x S x S x S x− − − −= = … =

Funciones spline de grado 1 o Splines Lineales.

Los splines de grado 1 son funciones polinomiales de grado 1 que unen cada

par de coordenadas mediante una recta (b ax+ ), es decir una función cuya gráfica

la forman rectas a trozos, sobre una partición del intervalo [a, b], de tal manera

que el extremo final de un segmento coincide con el principio del siguiente, y su

construcción se realiza en los siguientes términos:

Dados los n+1 puntos: x0 x1 x2 . . . xn

y0 y1 y2 . . . yn

una función spline de grado 1 para interpolar los datos anteriores se determina

simplemente al unir cada uno de los puntos mediante segmentos de recta, como

se ilustra en la Figura 16.

Figura 16. Spline lineal.

Page 38: Tema 3 Interpolacion Polinomial 07-12-2012

38

(32)

( ) [ ]( ) [ ]

( ) [ ]

0 0 0 0 1

1 1 1 1 2

1 1 1 1

,

,( )

...

,n n n n n

S x b a x x x x

S x b a x x x xS x

S x b a x x x x− − − −

= + ∈ = + ∈

= = + ∈

donde:

1. ( ) i iS x y= para cada 0,...,i n=

2. ( )iS x es un polinomio de grado menor o igual que 1 en el intervalo

1,i ix x + , 0,..., 1i n= − .

3. ( )S x es continua en [ ] [ ]0, , na b x x= , es decir ( ) [ ]0

0 , nS x C x x∈ .

4. ( ) ( )1 1 1i i i iS x S x+ + += para cada 0,..., 2i n= − , (lo que asegura continuidad en los

puntos):

( ) ( ) ( ) ( ) ( ) ( )0 1 1 1 1 2 2 2 2 1 1 1, S , , n n n nS x S x x S x S x S x− − − −= = … =

Ejemplo. 3.2 Interpolar el valor x=0 a través del spline lineal con nodos en los puntos de la tabla siguiente:

x -3 -2 1 4

y 2 0 3 1

Solución: Partición: { }3 2 1 4a bΓ = = − < − < < =

Intervalos: [ ) [ ) [ ]3, 2 , 2,1 , 1, 4− − −

Spline Lineal:

( ) [ ]( ) [ ]( ) [ ]

0 0 0

1 1 1

2 2 2

3, 2

( ) 2,1

1,4

S x b a x x

S x S x b a x x

S x b a x x

= + ∈ − −= = + ∈ −

= + ∈

La recta ( )0 0 0S x b a x= + une los puntos ( ) ( )3, 2 2,0− −y , ( )1 1 1S x b a x= + une

los puntos ( ) ( )2,0 1,3− y y ( )2 2 2S x b a x= + une los puntos ( ) ( )1,3 4,1y .

Para determinar el spline que se busca es necesario conocer los 6 coeficientes

ib , ia , 0,1, 2i = , incógnitas de un sistema de 6 ecuaciones generadas por las

condiciones exigidas a un spline lineal:

El spline lineal ha de pasar por todos los puntos correspondientes a los nodos,

( ) i iS x y= para cada 0,1, 2,3i = y, además, ha de garantizarse la exigencia

Page 39: Tema 3 Interpolacion Polinomial 07-12-2012

39

de continuidad, lo que se logra con ( ) ( )1 1 1i i i iS x S x+ + += para cada 0,1i = ,

( ) ( ) ( ) ( )0 1 1 22 2 , S 1 1S S S− = − = .

( )( )( )( )( )

( )

0 0 0

0 0 0

1 1 1

1 1 1

2 2 2

2 2 2

( 3) 2 3 3 2

2 2 0( 2) 0

2 2 0

1 3(1) 3

1 3

(4) 1 4 4 1

S S b a

S b aS

S b a

S b aS

S b a

S S b a

− = ⇒ − = − =

− = − = − = ⇒ − = − =

= + == ⇒ = + = = ⇒ = + =

Tenemos de este modo 6 ecuaciones con 6 incógnitas, condición necesaria para

resolver el siguiente sistema:

0 0 1 1 2 2

0 0 1 1 2 2

0 0 1 1 2 2

0 0 1 1 2 2

0 0 1 1 2 2

0 0 1 1 2 2

b 3a 0b 0a 0b 0a 2

1b 2a 0b 0a 0b 0a 0

0b 0a 1b 2a 0b 0a 0

0b 0a 1b 1a 0b 0a 3

0b 0a 0b 0a 1b 1a 3

0b 0a 0b 0a 1b 4a 0

− + + + + =− + + + + =+ + − + + =+ + + + + =+ + + + + =+ + + + + =

0

0

1

1

2

2

1 3 0 0 0 0 2

1 2 0 0 0 0 0

0 0 1 2 0 0 0

0 0 1 1 0 0 3

1 0 0 0 1 1 3

0 0 0 0 1 4 1

b

a

b

a

b

a

− − −

=

≡ AV=Y

⇒ V=A-1Y, es decir,

1

0

0

1

1

2

2

1 3 0 0 0 0 2

0 0 1 2 0 0 0

0 0 0 0 1 2 3

0 0 0 0 1 4 1

1 2 1 2 0 0 0

0 0 1 1 1 1 0

b

a

b

a

b

a

−− −

= − − − − −

Solución del sistema de ecuaciones con MAXIMA:

1) Matriz de coeficientes.

(%i1) A: matrix( [1,-3,0,0,0,0], [1,-2,0,0,0,0], [0,0,1,-2,0,0], [0,0,1,1,0,0], [0,0,0,0,1,1], [0,0,0,0,1,4] )$

Page 40: Tema 3 Interpolacion Polinomial 07-12-2012

40

2) Matriz Y.

(%i2) y: matrix( [2], [0], [0], [3], [3], [1] )$

3) Solución de Av=y: v=A-1 y (%i3) v:invert(A).y;

(%o3)

4) Definición de cada trozo del spline, ( ) ( ) ( )0 1 2, S x S x y S x .

(%i4) v[1,1]+v[2,1]*x$S0(x):=''%;

v[3,1]+v[4,1]*x$S1(x):=''%;

v[5,1]+v[6,1]*x$S2(x):=''%;

(%o4)

( )( )

( )

0

1

2

2 4

2

11 2

3 3

S x x

S x x

xS x

= − −

= +

= −

5) Matriz de nodos de interpolación p (matriz de dimensión 4x1).

(%i5) p: matrix( [-3,2], [-2,0], [1,3], [4,1] );

6) Carga de la librería de dibujo draw para poder representar las curvas junto

con los nodos de interpolación:

(%i6) load(draw);

(%06)

"C:/PROGRA~1/MAXIMA~1.1/share/maxima/5.22.1/share/draw/draw.lisp"

Page 41: Tema 3 Interpolacion Polinomial 07-12-2012

41

7) Representación del spline lineal junto con los nodos de interpolación:

(%i7) wxdraw2d(line_width = 2,

color=red,

explicit(S0(x),x,-3,-2),

explicit(S1(x),x,-2,1),

explicit(S2(x),x,1,4),

point_size=2,

point_type=7,

color=blue,

points(p));

(%07)

[gr2d(explicit,explicit,explicit,points)]

Funciones spline de grado 2 o Splines Cuadráticos.

Las funciones spline polinómicas de grado mayor que uno se desarrollan de

forma idéntica a las de grado uno, sólo que al aumentar el grado se puede

conseguir mayor regularidad global, sin que cambie mucho la dimensión del

espacio vectorial. Así, los splines cuadráticos con nodos { }0 1 ... nx x x< < < están

constituidos por parábolas a trozos, unidas entre sí, no sólo con continuidad sino

también con derivada continua, de tal forma que son funciones de clase uno en el

intervalo [ ] [ ]0, , na b x x= , [ ]1

0 , nC x x .

Es evidente que si se desea calcular una parábola conociendo su valor en dos

puntos, por ejemplo en 1x y 2x , y el valor de su derivada en uno de ellos, por

ejemplo en 1x , el problema es irresoluble. Si queremos usar el spline cuadrático

para interpolar datos, la siguiente parábola tendría que volver a interpolar el

valor en el nodo 2x , se puede interpolar un nuevo valor de función en 3x , pero no

podemos interpolar una parábola arbitraria en uno de estos extremos, pues, para

Page 42: Tema 3 Interpolacion Polinomial 07-12-2012

42

que ambas parábolas enlacen con clase uno se necesita que la nueva parábola

tenga en 2x la misma derivada que la parábola construida en el intervalo [ ]1 2,x x .

(33)

( ) [ ]( ) [ ]

( ) [ ]

2

0 0 0 0 0 1

2

1 1 1 1 1 2

2

1 1 1 1 1

,

,( )

...

,n n n n n n

S x c b x a x x x x

S x c b x a x x x xS x

S x c b x a x x x x− − − − −

= + + ∈ = + + ∈= = + + ∈

donde los ia , ib y ic , 0,1,..., 1i n= − , son coeficientes a determinar.

1. ( ) i iS x y= para cada 0,...,i n= ;

2. ( )iS x es un polinomio de grado menor o igual que 2 en el intervalo

1,i ix x + , 0,..., 1i n= − .

3. ( )S x tiene derivada continua en [ ] [ ]0, , na b x x= , es decir, ( ) [ ]1

0 , nS x C x x∈ .

4. ( ) ( )1 1 1i i i iS x S x+ + += para cada 0,..., 2i n= − , (lo que asegura continuidad en los

puntos), ( ) ( ) ( ) ( ) ( ) ( )0 1 1 1 1 2 2 2 2 1 1 1, S , , n n n nS x S x x S x S x S x− − − −= = … = .

( ) ( )1 1 1' 'i i i iS x S x+ + += para cada 0,..., 2i n= − ; (lo que asegura diferenciabilidad

en los puntos)

( ) ( ) ( ) ( ) ( ) ( )0 1 1 1 1 2 2 2 2 1 1 1' ' , S' ' , , ' 'n n n nS x S x x S x S x S x− − − −= = … =

Ejercicio. 3.3 Calcular el spline cuadrático para los datos del ejercicio 3.2.

Spline Cuadrático:

( ) [ ]( ) [ ]( ) [ ]

2

0 0 0 0

2

1 1 1 1

2

2 2 2 2

3, 2

( ) 2,1

1,4

S x c b x a x x

S x S x c b x a x x

S x c b x a x x

= + + ∈ − −= = + + ∈ − = + + ∈

La parábola ( ) 2

0 0 0 0S x c b x a x= + + une los puntos ( ) ( )3, 2 2,0− −y ,

( ) 2

1 1 1 1S x c b x a x= + + une los puntos ( ) ( )2,0 1,3− y y ( ) 2

2 2 2 2S x c b x a x= + + une los

puntos ( ) ( )1,3 4,1y .

Para determinar el spline que se busca es necesario conocer los 9 coeficientes

ic , ib , ia , 0,1, 2i = , incógnitas de un sistema de 9 ecuaciones generadas por las

condiciones exigidas a un spline cuadrático:

El spline cuadrático ha de pasar por todos los puntos correspondientes a los

nodos, ( ) i iS x y= para cada 0,1, 2,3i = y, además, ha de garantizarse la

Page 43: Tema 3 Interpolacion Polinomial 07-12-2012

43

exigencia de continuidad, lo que se logra con ( ) ( )1 1 1i i i iS x S x+ + += para cada

0,1i = , ( ) ( ) ( ) ( )0 1 1 22 2 , S 1 1S S S− = − = .

( )( )( )( )( )

( )

0 0 0 0

0 0 0 0

1 1 1 1

1 1 1 1

2 2 2 2

2 2 2 2

( 3) 2 3 3 9 2

2 2 4 0( 2) 0

2 2 4 0

1 3(1) 3

1 3

(4) 1 4

1

2

3

1

4

64 6

5

1

S S c b a

S c b aS

S c b a

S c b aS

S c b a

S S

ec

ec

ec

ec

e

b ecc a

c

− = ⇒ − = − + =

− = − + = − = ⇒ − = − + =

= + + = = ⇒ = + + = = ⇒ = + + =

Tenemos de este modo 6 ecuaciones con 9 incógnitas, es necesario, por tanto

contar con otras 3 ecuaciones. Para obtenerlas manejamos la existencia de la

derivada continuas de orden 1 del spline cuadrático, es decir de su primera

derivada:

( ) [ ]( ) [ ]( ) [ ]

0 0 0

1 1 1

2 2 2

' 2 3, 2

'( ) ' 2 2,1

' 2 1,4

S x b a x x

S x S x b a x x

S x b a x x

= + ∈ − −= = + ∈ −

= + ∈

Se observa que las derivadas anteriores están formadas por segmentos de

rectas que pudieran presentar discontinuidades en las fronteras de los

subintervalos. Por tanto, las posibles discontinuidades pueden presentarse en

x=-2 y en x=1, y para evitarlas es necesario que se verifique:

( ) ( )0 1' 2 ' 2S S− = − y ( ) ( )1 2' 1 ' 1S S=

es decir,

( ) ( )( ) ( )

0 1 0 0 1 1 0 0 1 1

1 2 1 1 2 2 1 1 2 2

' 2 ' 2 4 4 4 4 0

' 1 ' 1 2 2 2

7

82 0

S S b a b a b a b a

S S b a b a b a b a

ec

ec

− = − ⇒ − = − ⇒ − − + =

= ⇒ + = + ⇒ + − − =

Contamos, por tanto, con 8 ecuaciones con 9 incógnitas, lo que da un grado de

libertad para elegir alguna de las incógnitas. Podemos elegir, por simple

conveniencia 1 0a = . De este modo llegamos al sistema de ecuaciones:

0 0 1 1 1 2 2 2

0 0 1 1 1 2 2 2

0 0 1 1 1 2 2 2

0 0 1 1 1 2 2 2

0 0 1 1 1 2 2 2

0 0 1 1 1 2 2 2

1 3b 0 0b 0 0 0b 0 2

1 2b 0 0b 0 0 0b 0 0

0 0b 1 2b 4 0 0b 0 0

0 0b 1 1b 1 0 0b 0 3

0 0b 0 0b 0 1 1b 1 3

0 0b 0 0b 0 1 4b 16 1

c c a c a

c c a c a

c c a c a

c c a c a

c c a c a

c c a c a

− + + + + + + =

− + + + + + + =

+ + − + + + + =

+ + + + + + + =

+ + + + + + + =+ + + + + + + =

0 0 1 1 1 2 2 2

0 0 1 1 1 2 2 2

0 1b 0 1b 4 0 0b 0 0

0 1b 0 0b 2 0 1b 2 0

c c a c a

c c a c a

+ + − + + + + =

+ + + + + − − =

Page 44: Tema 3 Interpolacion Polinomial 07-12-2012

44

0

0

1

1

1

2

2

2

1 3 0 0 0 0 0 0 2

1 2 0 0 0 0 0 0 0

0 0 1 2 4 0 0 0 0

0 0 1 1 1 0 0 0 3

0 0 0 0 0 1 1 1 3

0 0 0 0 0 1 4 16 1

0 1 0 1 4 0 0 0 0

0 1 0 0 2 0 1 2 0

c

b

c

b

a

c

b

a

− − − = − − −

≡ AV=Y

⇒ V=A-1Y, es decir,

1

0

0

1

1

1

2

2

2

1 3 0 0 0 0 0 0 2

1 2 0 0 0 0 0 0 0

0 0 1 2 4 0 0 0 0

0 0 1 1 1 0 0 0 3

0 0 0 0 0 1 1 1 3

0 0 0 0 0 1 4 16 1

0 1 0 1 4 0 0 0 0

0 1 0 0 2 0 1 2 0

c

b

c

b

a

c

b

a

−− − − = − − −

Solución del sistema con MAXIMA:

1) Matriz de coeficientes.

(%i1) A: matrix( [1,-3,0,0,0,0,0,0], [1,-2,0,0,0,0,0,0], [0,0,1,-2,4,0,0,0], [0,0,1,1,1,0,0,0], [0,0,0,0,0,1,1,1], [0,0,0,0,0,1,4,16], [0,1,0,-1,4,0,0,0], [0,1,0,0,2,0,-1,-2] )$

2) Matriz Y.

(%i2) y: matrix( [2], [0], [0], [3], [3], [1], [0], [0] )$

Page 45: Tema 3 Interpolacion Polinomial 07-12-2012

45

3) Solución de Av=y: v=A-1 y (%i3) v:invert(A).y;

(%o3)

4) Definición de cada trozo del spline, ( ) ( ) ( )0 1 2, S x S x y S x . (%i4)

v[1,1]+v[2,1]*x$S0(x):=''%; v[3,1]+v[4,1]*x+v[5,1]*x^2$S1(x):=''%; v[6,1]+v[7,1]*x+v[8,1]*x^2$S2(x):=''%;

(%o4)

( )( )

( )

0

2

1

2

2

2 4

2

2 4 25

3 9 9

S x x

S x x x

x xS x

= − −

= +

= + +

5) Matriz de nodos de interpolación P (matriz de dimensión 4x1).

(%i5) p: matrix( [-3,2], [-2,0], [1,3], [4,1] );

6) Carga de la librería de dibujo draw para poder representar las curvas junto

con los nodos de interpolación:

(%i6) load(draw);

(%06) "C:/PROGRA~1/MAXIMA~1.1/share/maxima/5.22.1/share/draw/draw.lisp"

7) Representación del spline cuadrático junto con los nodos de interpolación:

(%i7) wxdraw2d(line_width = 2,

color=red,

explicit(S0(x),x,-3,-2),

explicit(S1(x),x,-2,1),

explicit(S2(x),x,1,4),

Page 46: Tema 3 Interpolacion Polinomial 07-12-2012

46

point_size=2,

point_type=7,

color=blue,

points(p));

(%07)

Funciones spline de grado 3 o Splines Cúbicos.

De acuerdo con la definición de spline de grado k, la función ( )S x de grado 3

para los (n+1) nodos { }0 1 ... na x x x b= < < < = , 0,1,...,i n= , debe ser una función de

clase 2 en [ ] [ ]0, , na b x x= , [ ]2

0 , nC x x y debe coincidir con un polinomio de grado

menor o igual a 3 en cada subintervalo 1,i ix x + , 0,..., 1i n= − . Es decir

( ) [ )( ) [ )

( ) [ )

2 3

0 0 0 0 0 0 1

2 3

1 1 1 1 1 1 2

2 3

1 1 1 1 1 1

,

,( )

...

,n n n n n n n

S x d c x b x a x x x x

S x d c x b x a x x x xS x

S x d c x b x a x x x x− − − − − −

= + + + ∈ = + + + ∈= = + + + ∈

donde los ia , ib , ic y id , 0,1,..., 1i n= − , son los coeficientes a determinar

1. ( ) i iS x y= para cada 0,...,i n= ;

2. ( )iS x es un polinomio de grado menor o igual que 3 en el intervalo

1,i ix x + , 0,..., 1i n= − .

3. ( )S x tiene segunda derivada continua en [ ] [ ]0, , na b x x= , es decir,

( ) [ ]2

0 , nS x C x x∈ .

4. ( ) ( )1 1 1i i i iS x S x+ + += para cada 0,..., 2i n= − , (lo que asegura continuidad en los

puntos), ( ) ( ) ( ) ( ) ( ) ( )0 1 1 1 1 2 2 2 2 1 1 1, S , , n n n nS x S x x S x S x S x− − − −= = … = .

Page 47: Tema 3 Interpolacion Polinomial 07-12-2012

47

( ) ( )1 1 1' 'i i i iS x S x+ + += para cada 0,..., 2i n= − , lo que asegura diferenciabilidad

en los puntos,

( ) ( ) ( ) ( ) ( ) ( )0 1 1 1 1 2 2 2 2 1 1 1' ' , S' ' , , ' 'n n n nS x S x x S x S x S x− − − −= = … =

( ) ( )1 1 1'' ''i i i iS x S x+ + += para cada 0,..., 2i n= − , lo que asegura que no hay

cambios de concavidad en los nodos.

( ) ( ) ( ) ( ) ( ) ( )0 1 1 1 1 2 2 2 2 1 1 1'' '' , S '' '' , , '' ''n n n nS x S x x S x S x S x− − − −= = … =

De igual manera que en los métodos lineal y cuadrático debemos encontrar el valor de los coeficientes que resultan para formar el spline. La interpolación con spline cúbicos es la más usual.

A efectos prácticos:

Construir un spline cúbico para n nodos consiste en construir una curva

uniendo tramos definidos por polinomios de grado menor o igual a tres para cada

par, de forma que la unión sea suave, es decir, que coincidan la primera y

segunda derivada en cada unión.

Si en los extremos:

- Se exige que se anule la segunda derivada, la curva obtenida se denomina Spline Cúbico Natural.

- Se exige que la primera derivada tome un valor determinado, la curva obtenida se denomina Spline Cúbico Sujeto.

Ejercicio. 3.4 Encontrar el spline cúbico sujeto de interpolación que pasa

por los puntos de la tabla siguiente:

x -3 -2 1 4

y 2 0 3 1

y para el que se verifica: ( )( )' 3 1

' 4 1

S

S

− = −

=

Solución:

Spline Cúbico:

( ) [ ]( ) [ ]( ) [ ]

2 3

0 0 0 0 0

2 3

1 1 1 1 1

2 3

2 2 2 2 2

3, 2

( ) 2,1

1,4

S x d c x b x a x x

S x S x d c x b x a x x

S x d c x b x a x x

= + + + ∈ − −= = + + + ∈ −

= + + + ∈

La curva 2 3

0 0 0 0 0( )S x d c x b x a x= + + + une los puntos ( ) ( )3,2 2,0− −y ,

2 3

1 1 1 1 1( )S x d c x b x a x= + + + los puntos ( ) ( )2,0 1,3− y y 2 3

2 2 2 2 2( )S x d c x b x a x= + + +

los puntos ( ) ( )1,3 4,1y . En conclusión cuatro pares de coordenadas se unen

mediante tres curvas polinomiales de grado 3.

Page 48: Tema 3 Interpolacion Polinomial 07-12-2012

48

Para calcular el spline es necesario conocer los 12 coeficientes id , ic , ib , ia ,

0,1, 2i = , incógnitas de un sistema de 12 ecuaciones que deberán ser generadas

por las condiciones exigidas a un spline cúbico sujeto:

a) El spline cúbico sujeto ha de pasar por todos los puntos correspondientes a

los nodos, ( ) i iS x y= para cada 0,1, 2,3i = ; b) ha de garantizarse la existencia de

primera continua; c) se pide calcular un spline cúbico ( )S x sujeto para el que se

verifica ( ) ( )' 3 1; ' 4 1S S− = − = ; d) ha de garantizarse la existencia de segunda

derivada continua.

a) 6 ecuaciones se obtiene por el hecho de que el spline cúbico ha de pasar por

todos los puntos correspondientes a los nodos:

( )( )( )( )( )

( )

0 0 0 0 0

0 0 0 0 0

1 1 1 1 1

1 1 1 1 1

2 2 2 2 2

2 2 2 2 2

( 3) 2 3 3 9 27 2

2 2 4 8 0( 2) 0

2 2 4 8 0

1 3(1) 3

1 3

(4)

1

2

3

4

1 4 4 16 6

5

64 1

S S d c b a

S d c b aS

S d c b a

S d c b aS

ec

ec

ec

ec

ecS d c b a

d eS S c b a c

− = ⇒ − = − + − =

− = − + − = − = ⇒ − = − + − =

= + + + = = ⇒ = + + + = = ⇒ = + + + =

b) Otras 2 ecuaciones se obtienen a partir de existencia de primera derivada

continua:

( ) [ ]( ) [ ]( ) [ ]

2

0 0 0 0

2

1 1 1 1

2

2 2 2 2

' 2 3 3, 2

'( ) ' 2 3 2,1

' 2 3 1,4

S x c b x a x x

S x S x c b x a x x

S x c b x a x x

= + + ∈ − −= = + + ∈ −

= + + ∈

La derivada '( )S x puede presentar discontinuidades en 2 1x x= − =y en , para

evitarlas es necesario que se verifique:

( ) ( )0 1' 2 ' 2S S− = − y ( ) ( )1 2' 1 ' 1S S=

es decir,

( ) ( )

( ) ( )

0 1 0 0 0 1 1 1

0 0 0 1 1 1

1 2 1 1 1 2 2 2

1 1 1 2 2 2

7

' 2 ' 2 c 4 12 4 12

c 4 12 4 12 0

' 1 ' 1 2 3 2 3

2 3 2 3 0 8

S S b a c b a

b a c b a

S S c b a c b

ec

a

c b a c b ca e

− = − ⇒ − + = − +

⇒ − + − + − == ⇒ + + = + +

⇒ + + − − − =

c) Por otro lado, se pide calcular un spline cúbico sujeto para el que se verifica

( ) ( )' 3 1; ' 4 1S S− = − =

condiciones que se traducen en dos ecuaciones adicionales:

Page 49: Tema 3 Interpolacion Polinomial 07-12-2012

49

( ) ( )( ) ( )

0 0 0 0

2 2 2 2

' 3 1 ' 3 6 27 1

' 4 1 ' 4 8 4

9

108 1

S S c b a

S

ec

ecS c b a

− = ⇒ − = − + =

= ⇒ = + + =

d) Por último, obtenemos las dos ecuaciones restantes garantizando la existencia

de la segunda derivada continua:

( ) [ ]( ) [ ]( ) [ ]

0 0 0

1 1 1

2 2 2

'' 2 6 3, 2

''( ) '' 2 6 2,1

'' 2 6 1,4

S x b a x x

S x S x b a x x

S x b a x x

= + ∈ − −= = + ∈ −

= + ∈

La derivada ''( )S x también puede presentar discontinuidades en

2 1x x= − =y en , por lo que procedemos como para la primera derivada:

( ) ( )0 1'' 2 '' 2S S− = − y ( ) ( )1 2'' 1 '' 1S S=

es decir,

( ) ( )( ) ( )

0 1 0 0 1 1 0 0 1 1

1 2 1 1 2 2 1 1 2 2

11'' 2 '' 2 2 12 2 12 2 12 2 12 0

'' 1 '' 1 2 6 2 6 2 6 2 6 0 12

S S b a b a b a b a

S S b a b a

e

a eb b

c

ca

− = − ⇒ − = − ⇒ − − + =

= ⇒ + = + ⇒ + − − =

En definitiva contamos con el sistema de 12 ecuaciones con 12 incógnitas:

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

1 3 9b 27 0 0 0b 0 0 0 0b 0 2

1 2 4b 8 0 0 0b 0 0 0 0b 0 0

0 0 0b 0 1 2 4b 8 0 0 0b 0 0

0 0 0b 0 1 1 1 1 0 0 0b 0 3

0

d c a d c a d c a

d c a d c a d c a

d c a d c a d c a

d c a d c b a d c a

d

− + − + + + + + + + + =

− + − + + + + + + + + =

+ + + + − + − + + + + =

+ + + + + + + + + + + =

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

0 0b 0 0 0 0 0 1 1 1b 1 3

0 0 0b 0 0 0 0 0 1 4 16b 64 1

0 1 4b 12 0 1 4 12 0 0 0b 0 0

0 0 0b 0 0 1 2 3 0 1 2b 3 0

0

c a d c b a d c a

d c a d c b a d c a

d c a d c b a d c a

d c a d c b a d c a

d

+ + + + + + + + + + + =+ + + + + + + + + + + =+ − + + − + − + + + + =

+ + + + + + + + − − − =

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

0 0 0 0 1 1 1 1 2 2 2 2

1 6b 27 0 0 0b 0 0 0 0b 0 1

0 0 0b 0 0 0 0 0 0 1 8b 48 1

0 0 2b 12 0 0 2 12 0 0 0b 0 0

0 0 0b 0 0 0 2 6 0 0 2b 6 0

c a d c a d c a

d c a d c b a d c a

d c a d c b a d c a

d c a d c b a d c a

+ − + + + + + + + + + =

+ + + + + + + + + + + =+ + − + + − + + + + + =

+ + + + + + + + + − − =

Page 50: Tema 3 Interpolacion Polinomial 07-12-2012

50

1 3 9 27 0 0 0 0 0 0 0 0

1 2 4 8 0 0 0 0 0 0 0 0

0 0 0 0 1 2 4 8 0 0 0 0

0 0 0 0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 0 1 1 1 1

0 0 0 0 0 0 0 0 1 4 16 64

0 1 4 12 0 1 4 12 0 0 0 0

0 0 0 0 0 1 2 3 0 1 2 3

0 1 6 27 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 1 8 48

0 0 2 12 0 0 2 12 0 0 0 0

0 0 0 0 0 0 2 6 0 0 2 6

− − − − − − − − −

− − − − + − − − −

0

0

0

0

1

1

1

1

2

2

2

2

2

0

0

3

3

1

0

0

1

1

0

0

d

c

b

a

d

c

b

a

d

c

b

a

=

≡ AV=Y

⇒ V=A-1Y, es decir,

0

0

0

0

1

1

1

1

2

2

2

2

1 3 9 27 0 0 0 0 0 0 0 0

1 2 4 8 0 0 0 0 0 0 0 0

0 0 0 0 1 2 4 8 0 0 0 0

0 0 0 0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 0 1 1 1 1

0 0 0 0 0 0 0 0 1 4 16 64

0 1 4 12 0 1 4 12 0 0 0 0

0 0 0 0 0 1 2 3 0 1 2 3

0 1 6 27 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

d

c

b

a

d

c

b

a

d

c

b

a

− − − − − − = − − −

− − − − +

12

0

0

3

3

1

0

0

1

1 8 48 1

0 0 2 12 0 0 2 12 0 0 0 0 0

0 0 0 0 0 0 2 6 0 0 2 6 0

− − − − −

Solución del sistema de ecuaciones con MAXIMA:

1) Matriz de coeficientes.

(%i1) A: matrix( [1,-3,9,-27,0,0,0,0,0,0,0,0], [1,-2,4,-8,0,0,0,0,0,0,0,0], [0,0,0,0,1,-2,4,-8,0,0,0,0], [0,0,0,0,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,1,1,1,1], [0,0,0,0,0,0,0,0,1,4,16,64], [0,1,-4,12,0,-1,4,-12,0,0,0,0], [0,0,0,0,0,1,2,3,0,-1,-2,-3], [0,1,-6,27,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,1,8,48], [0,0,2,-12,0,0,-2,12,0,0,0,0], [0,0,0,0,0,0,2,6,0,0,-2,-6] )$

Page 51: Tema 3 Interpolacion Polinomial 07-12-2012

51

2) Matriz Y.

(%i2) y: matrix([2],[0],[0],[3],[3],[1],[0],[0],[1],[1],[0],[0])$

3) Resolución de Av=y ⇔ v=A-1 y (%i3) v:invert(A).y;

(%o3)

4) Definición de cada trozo del spline, ( ) ( ) ( )0 1 2, S x S x y S x . (%i4) v[1,1]+v[2,1]*x+v[3,1]*x^2+v[4,1]*x^3$S0(x):=''%;

v[5,1]+v[6,1]*x+v[7,1]*x^2+v[8,1]*x^3$S1(x):=''%;

v[9,1]+v[10,1]*x+v[11,1]*x^2+v[12,1]*x^3$S2(x):=''%;

Page 52: Tema 3 Interpolacion Polinomial 07-12-2012

52

(%o4)

( )

( )

( )

3 2

0

3 2

1

3 2

2

83 571 1216 812

31 31 31 31

116 13 196 404

279 93 93 279

271 658 1207 593

837 279 279 837

x x xS x

x x xS x

x x xS x

= + + +

= + + +

= − + +

5) Matriz de nodos de interpolación de dimensión puntos (dimensión 4x1).

(%i5) puntos: matrix( [-3,2], [-2,0], [1,3], [4,1] ); 6) Carga de la librería de dibujo draw para poder representar las curvas junto

con los nodos de interpolación:

(%i6) load(draw);

(%06) "C:/PROGRA~1/MAXIMA~1.1/share/maxima/5.22.1/share/draw/draw.lisp"

7) Representación del spline cúbico junto con los nodos de interpolación:

(%i7) wxdraw2d(line_width = 2, color=red,

explicit(S0(x),x,-3,-2),

explicit(S1(x),x,-2,1),

explicit(S2(x),x,1,4),

point_size=2,point_type=7,color=blue,

points(puntos));

(%07)

[gr2d(explicit,explicit,explicit,points)]

La curva puede obtenerse con la función cspline (librería interpol). El spline que se

obtiene es el natural (derivadas segundas nulas en los extremos).

En este ejercicio debemos añadir la condición de spline sujeto, siendo las

derivadas en el primer y último extremo -1 y 1 respectivamente.

Page 53: Tema 3 Interpolacion Polinomial 07-12-2012

53

8) Cargamos la librería interpol.

(%i8) load(interpol);

(%o8) "C:/PROGRA~1/MAXIMA~1.1/share/maxima/5.22.1/share/numeric/interpol.mac"

9) Se obtiene la curva con la función cspline.

(%i9) cspline(p,d1=-1,dn=1);S(x):=''%;

(%09)

10) Representación de la curva obtenida por cspline y de los nodos del spline cúbico.

(%i10) wxdraw2d(line_width = 2, color=red, explicit(S(x),x,-3,4), point_size=2, point_type=7, color=blue, points(puntos) );

(%010)

Obtención de la curva por el método de interpolación de Lagrange. 11) Cálculo y representación gráfica del polinomio. (%i11) lagrange(puntos);p3(x):=''%;

(%o11) ( )3

( 1)( 2)( 3) ( 4)( 2)( 3) ( 2)( 4)( 1)

126 12 14

x x x x x x x x xP x

− + + − + + − − − −= − +

(%i12) plot2d([p3(x)],[x,-3,4]);

Page 54: Tema 3 Interpolacion Polinomial 07-12-2012

54

(%o12)

Propiedades de los splines cúbicos:

• Curva interpoladora con segmentos polinómicos (curvas componentes)

• Representación paramétrica

• Suave: C2 (curvas componentes)

• Sin oscilaciones: grado cúbico de los polinomios evita oscilaciones

• No local: el cambio de un punto afecta a los polinomios de todos

segmentos (ver el sistema (n+1) x (n+1)).

• Relativamente fácil de calcular.

• Se ha sacrificado la suavidad (no mucho) para evitar las oscilaciones

• Para hacer las curvas locales, hay que eliminar el requerimiento de que

Interpole los puntos.

Ejercicio. 3.5 (Propuesto) Interpolar usando SCILAB ( ) 2f x x= por

interpolación lineal, por splines cúbicos y por vecinos próximos.

x=linspace(0,3,20);

y=x^2;

xx=linspace(0,3,100);

yy1=interp1(x,y,xx,'linear');

yy2=interp1(x,y,xx,'spline');

yy3=interp1(x,y,xx,'nearest');

plot(xx,[yy1;yy2;yy3],x,y,'*')

xtitle('Interpolación de la función cuadrado')

legend(['Lineal','Spline Cúbico','Nearest'],a=2)

Page 55: Tema 3 Interpolacion Polinomial 07-12-2012

55

3. Interpolación Paramétrica de Lagrange.

3.1 Motivación.

- Queremos modelizar el recorrido de un vagón en la montaña rusa del primer ejemplo de este tema, de modo que pase por los puntos

(1, 2), (2, 1), (3, 5), (4, 4), (5, 3), (6, 6)

en los instantes de tiempo t = 0, 1, 2, 3, 4, 5.

Figura 12.

- Queremos diseñar un trazado que pase por los puntos (3, 0), (1, 6), (5, 4), (6, 7), (4, 7) en el orden indicado.

Figura 13.

Page 56: Tema 3 Interpolacion Polinomial 07-12-2012

56

Definición. 3.7 Una curva polinomial en 2ℝ es una curva paramétrica dada

por una función

( ) ( )( )( ) ,p t x t y t=

cuyas funciones coordenadas son, a su vez, polinomios. El grado de la curva

polinomial es el mayor de los grados de las funciones coordenadas.

El Problema de Interpolación de Lagrange (para curvas paramétricas) puede

escribirse en los siguientes términos:

Dados n+1 puntos

( ) ( ) ( )0 0 0 1 1 1, , , ,..., ,n n np x y p x y p x y= = =

y n+1 números reales distintos

0 1 ... nt t t< < < .

calcular una curva polinomial ( )p t tal que

( ) ( ) ( )0 0 1 1, ,..., n np t p p t p p t p= = =

3.2 Existencia y Unicidad de la Curva Interpoladora de

Lagrange.

Teorema. 2.5 (de Existencia y Unicidad ) Existen polinomios únicos

( ) ( ),x t y t de grado menor o igual que n que son solución del problema de

interpolación paramétrica. La curva ( ) ( )( )( ) ,p t x t y t= recibe el nombre de Curva

Interpoladora de Lagrange para la tabla:

t 0t 1t . . .

nt

( ),x y ( )0 0,x y ( )1 1,x y . . . ( ),n nx y

3.3 Cálculo de la Curva interpoladora de lagrange.

Las fórmulas de Lagrange y Newton que se estudiaron para el cálculo del polinomio interpolador de Lagrange se adaptan para el cálculo de la curva interpoladora, sin más que reemplazar:

Polinomio Curva x t y ( ),x y

Lo que equivale a interpolar cada función coordenada:

t 0t 1t . . .

nt

x 0x 1x . . .

nx

t

0t 1t . . . nt

y 0y 1y . . .

ny

Page 57: Tema 3 Interpolacion Polinomial 07-12-2012

57

Ejemplo. 3.7 Obtener la curva paramétrica que describe el recorrido del vagón de una montaña rusa que pasa por los puntos

x 1 2 3 4 5 6 y 2 1 5 4 -3 6

en los instantes de tiempo t = 0, 1, 2, 3, 4, 5.

Solución: Buscamos la curva interpoladora de Lagrange ( ) ( )( )( ) ,p t x t y t=

para la tabla:

t 0 1 2 3 4 5

(x,y) (1,2) (2,1) (3,5) (4,4) (5,-3) (6,6)

Debemos, por tanto, interpolar cada función coordenada:

t 0 1 2 3 4 5

x 1 2 3 4 5 6

t 0 1 2 3 4 5

y 2 1 5 4 -3 6

Para ( ),t x t , el polinomio interpolador de Lagrange en los puntos (0,1), (1,2),

(2,3), (3,4), (4,5), (5,6) es

( ) 0 1 2 3 4 51 ( ) 2 ( ) 3 ( ) 4 ( ) 5 ( ) 6 ( )x t L t L t L t L t L t L t= + + + + +

y para ( ),t y t , el polinomio interpolador de Lagrange en los puntos (0,2), (1,1),

(2,5), (3,4), (4,3), (5,6) es

( ) 0 1 2 3 4 52 ( ) 1 ( ) 5 ( ) 4 ( ) 3 ( ) 6 ( )y t L t L t L t L t L t L t= + + + + +

donde, para ambos polinomios interpoladores, los polinomios de Lagrange son

Page 58: Tema 3 Interpolacion Polinomial 07-12-2012

58

( )( )( ) ( ) ( )( ) ( ) ( )( )( )

( )( )( ) ( ) ( )( )( )( ) ( ) ( )

( )( )( ) ( ) ( )( )( )( )( ) ( )

( ) ( ) ( ) ( )( )( ) ( ) ( ) ( )( )

( )( )( )( ) ( )( )( )( ) ( ) ( )

( ) ( ) ( )

0 1

2 3

4 5

1 2 3 4 5 0 2 3 4 5( ) , ( )

0 1 0 2 0 3 0 4 0 5 1 0 1 2 1 3 1 4 1 5

0 1 3 4 5 0 1 2 4 5( ) , ( )

2 0 2 1 2 3 2 4 2 5 3 0 3 1 3 2 3 4 3 5

0 1 2 3 5 0 1 2( ) , ( )

4 0 4 1 4 2 4 3 4 5

t t t t t t t t t tL t L t

t t t t t t t t t tL t L t

t t t t t t t t tL t L t

− − − − − − − − − −= =

− − − − − − − − − −

− − − − − − − − − −= =

− − − − − − − − − −

− − − − − − − − −= =

− − − − −( )( )

( ) ( ) ( ) ( )( )3 4

5 0 5 1 5 2 5 3 5 4

t −− − − − −

La curva interpoladora de lagrange ( ) ( )( )( ) ,p t x t y t= viene dada por

( ) ( )( ) 0 1 2 3 4 5

0 1 2 3 4 5

( ) 2 ( ) 3 ( ) 4 ( ) 5 ( ) 6 ( ),( )

2 ( ) ( ) 5 ( ) 4 ( ) 3 ( ),

6 ( )

L t L t L t L t L t L tp t

L t L t L t L t L tx t y

L tt

+ + + + + = + + + + +

=

Ejemplo. 3.8 Diseñar un trazado que pase por los puntos

x 3 1 5 6 4 y 0 6 4 7 7

en el orden indicado, considerando instantes de tiempo t=0,1,2,3,4,5. Repre-sentar la curva obtenida con Maxima.

Solución:

1) Carga de la librería interpol.

� (%i1) load(interpol);

(%o1) "C:/PROGRA~1/MAXIMA~1.1/share/maxima/5.22.1/share/numeric/interpol.mac"

2) Definición de las listas de puntos ( ) ( ) [ ]1 2 1 , , , , ,p t x t p t y t p x y= = =

� (%i2) p1:[[0,3],[1,1],[2,5],[3,6],[4,4]]; p2:[[0,0],[1,6],[2,4],[3,7],[4,7]]; puntos:[[3,0],[1,6],[5,4],[6,7],[4,7]];

(%02)

3) Obtención de los polinomios interpoladores para x e y.

� (%i3) lagrange(p1,varname=t);f1(t):=''%; lagrange(p2,varname=t);f2(t):=''%; (%03)

Page 59: Tema 3 Interpolacion Polinomial 07-12-2012

59

4) Carga de la librería de dibujo draw:

� (%i4) load(draw);

(%04) "C:/PROGRA~1/MAXIMA~1.1/share/maxima/5.22.1/share/draw/draw.lisp"

5) Representación de la curva de interpolación (coordenadas paramétricas):

� (%i5) draw2d(line_width = 2,

color=red,

parametric(f1(t),f2(t),t,0,4),

point_size=2,

point_type=7,

color=blue,

points(puntos) );

(%05)

[gr2d(explicit,explicit,explicit,points)]