mÉtodos matemÁticos (curso 2011-2012) · mÉtodos matemÁticos (curso 2011-2012) tercer curso de...

21
MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de Sevilla LECCIÓN 6: INTERPOLACIÓN POLINÓMICA Índice 1. Interpolación polinómica 1 1.1. Introducción ........................................ 1 1.2. El polinomio interpolador ................................ 2 2. Interpolación polinómica a trozos 9 2.1. Interpolación lineal a trozos ............................... 9 2.2. Cúbicas de Hermite .................................... 10 2.3. Interpolación por splines ................................. 13 3. Cuestiones y problemas 16 Resumen En las asignaturas de Cálculo se suelen introducir algunos rudimen- tos de interpolación polinómica. En esta leccion desarrollaremos las nociones suficientes de este tema para entender el manejo de los mé- todos de inerpolacón presentes en entornos como Matlab, así como aquellos conceptos que sean necesarios para en lecciones posteriores desarrollar los métodos de cuadratura numérica. 1. Interpolación polinómica 1.1. Introducción Son muchas y muy distintas las situaciones en las cuales aparecen series de datos o resultados de mediciones experimentales de los que sólo se conoce una cierta cantidad finita de ítems y para los cuales se necesita encontrar una “ley general” que sirva para su tratamiento. Usualmente esa ley general no es otra cosa que una función que tome los valores predeterminados. Precisamente, este es el cometido básico de la interpolación: dada una tabla de datos (que podemos suponer procedente de una cierta función desconocida o conocida pero de cálculo problemático), se trata de encontrar otra función tal que que su comportamiento en los puntos dados se ajuste, en algún sentido, a los valores proporcionados por la tabla. La función interpoladora servirá para sustituir a la función de partida, tanto para evaluarla en distintos puntos, como para estimar todo tipo de propiedades analíticas. La elección del tipo de funciones interpoladoras depende básicamente del contexto en que se esté trabajando y, como es previsible, hay una gran variedad. En este curso, sólo trataremos la interpolación polinómica de Lagrange, y ciertos tipos de interpolación polinómica a trozos (lineal, 1

Upload: donhan

Post on 21-Sep-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

MÉTODOS MATEMÁTICOS (Curso 2011-2012)Tercer Curso de Ingeniería Aeronáutica

Departamento de Matemática Aplicada II. Universidad de Sevilla

LECCIÓN 6: INTERPOLACIÓN POLINÓMICA

Índice

1. Interpolación polinómica 11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. El polinomio interpolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Interpolación polinómica a trozos 92.1. Interpolación lineal a trozos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2. Cúbicas de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3. Interpolación por splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3. Cuestiones y problemas 16

ResumenEn las asignaturas de Cálculo se suelen introducir algunos rudimen-tos de interpolación polinómica. En esta leccion desarrollaremos lasnociones suficientes de este tema para entender el manejo de los mé-todos de inerpolacón presentes en entornos como Matlab, así comoaquellos conceptos que sean necesarios para en lecciones posterioresdesarrollar los métodos de cuadratura numérica.

1. Interpolación polinómica

1.1. Introducción

Son muchas y muy distintas las situaciones en las cuales aparecen series de datos o resultados demediciones experimentales de los que sólo se conoce una cierta cantidad finita de ítems y para loscuales se necesita encontrar una “ley general” que sirva para su tratamiento. Usualmente esa leygeneral no es otra cosa que una función que tome los valores predeterminados. Precisamente, este esel cometido básico de la interpolación: dada una tabla de datos (que podemos suponer procedentede una cierta función desconocida o conocida pero de cálculo problemático), se trata de encontrarotra función tal que que su comportamiento en los puntos dados se ajuste, en algún sentido, a losvalores proporcionados por la tabla. La función interpoladora servirá para sustituir a la funciónde partida, tanto para evaluarla en distintos puntos, como para estimar todo tipo de propiedadesanalíticas.

La elección del tipo de funciones interpoladoras depende básicamente del contexto en que seesté trabajando y, como es previsible, hay una gran variedad. En este curso, sólo trataremos lainterpolación polinómica de Lagrange, y ciertos tipos de interpolación polinómica a trozos (lineal,

1

Page 2: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

cúbicas de Hermite y splines). Es posible interpolar una función con otro tipo de funciones comopor ejemplo, funciones racionales.

La interpolación polinómica tiene gran importancia teórica en análisis numérico pues permitefundamentar una amplia gama de métodos para la diferenciación numérica, la aproximación nu-mérica de integrales o cuadratura, la integración numérica de ecuaciones diferenciales, cálculo deestremos de una función, etc. Desde un punto de vista gráfico, la interpolación polinómica tiene unagran desventaja: cuando se tienen muchos datos a interpolar, el correspondiente polinomio inter-polador tiene necesariamente un grado alto y presenta numerosas oscilaciones. Para mitigar estosefectos, la estratagia usual es dividir el intervalo en varios trozos y en cada trozo interpolar los datospor un polinomio de grado bajo; es decir, realizar interpolación a trozos.

La interpolación trigonométrica se usa extensamente en el análisis de Fourier numérico y, engeneral, en multitud de fenómenos cíclicos. Su campo de aplicación abarca la mecánica aplicada, laacústica, la ingeniería biomédica, el análisis sismográfico, el procesado digital de señales, el rádar oel electromagnetismo aplicado, por citar algunas áreas.

1.2. El polinomio interpolador

Los polinomios son funciones con muchas ventajas a la hora de su manejo práctico. Por ejemplo,son derivables con continuidad tantas veces como se desee. De un polinomio de grado N

p(x) = a0 + a1x+ · · ·+ aNxN ,

basta disponer de sus N + 1 coeficientes para poder calcular su valor en cualquier punto x. Es másobservando que sacando factor común a x, x2, etc, podemos escribir

p(x) = a0 + x(a1 + x(a2 + x(. . . x(aN−1 + aNx) . . .)),

se obtiene de modo natural el algoritmo de Horner para su evaluación

1. p← aN ,

2. para j = N − 1, . . . , 0

p← aj + xp,

que permite evaluar el polinomio con N multiplicaciones y N sumas.El problema general de la interpolación polinómica consiste en dada una función f : [a, b] → R

y N + 1 puntos diferentes {x0 < x1 < · · · < xN} ⊂ [a, b], denominados nodos de la interpolación,encontrar un polinomio pN tal que

pN(xj) = f(xj), para todo j = 0, . . . , N.

Si consideramos los N + 1 polinomios

Lj(x) =N∏

l=0

l 6=j

x− xlxj − xl

, j = 0, . . . , N,

2

Page 3: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

es decir, polinomios tales que

Lj(xl) =

{

1, l = j,0, l 6= j,

se observa que una solución del problema de interpolación es simplemente

pN (x) = f(x0)L0(x) + · · ·+ f(xN )L(xN ). (1)

Los polinomios Lj se denominan polinomios de Lagrange (asociados a los nodos x0, . . . , xN), y laexpresión (1) forma de Lagrange del polinomio interpolador (de f en los nodos x0, . . . , xN).

Ejemplo 1 los cuatro polinomios de Lagrange de grado 3 asociados a los nodos x0 = 0, x1 = 1/2,x2 = 2 y x3 = 3 son

L0(x) =(x− 1

2)(x− 2)(x− 3)

(0− 12)(0− 2)(0− 3)

=(x− 1

2)(x− 2)(x− 3)

−3,

L1(x) =x(x− 2)(x− 3)

(12− 0)(1

2− 2)(1

2− 3)

= 8x(x− 2)(x− 3)

15,

L2(x) =x(x− 1

2)(x− 3)

(2− 0)(2− 12)(2− 3)

=x(x− 1

2)(x− 3)

−3,

L3(x) =x(x− 1

2)(x− 2)

(3− 0)(3− 12)(3− 2)

= 2x(x− 1

2)(x− 2)

15,

y tienen las gráficas siguientes.

0 2 4−2

−1

0

1

2

0 2 4−2

−1

0

1

2

0 2 4−2

−1

0

1

2

0 2 4−2

−1

0

1

2

donde con círculos indicamos los nodos de interpolación y con un asterisco el punto de la gráficadonde el polinomio de Lagrange toma el valor uno sobre el nodo de interpolación correspondiente.Si tomamos como función f a interpolar f(x) = cos(x) la correspondiente combinación lineal de lospolinomios de Lagrange para formar el polinomio interpolador es

p3(x) = cos(0)L0(x) + cos(1/2)L1(x) + cos(2)L2(x) + cos(3)L3(x).

3

Page 4: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

En el siguiente gráfico mostramos la función f(x) = cos(x) (en trazo continuo) y su polinomiointerpolador p3 (en trazo discontinuo).

−1 0 1 2 3 4

−1.5

−1

−0.5

0

0.5

1

1.5

Observe que en el intervalo definido por los nodos de interpolación el ojo humano difícilmentedistingue la función de su polinomio interpolador. Fuera de dicho intervalo, la diferencia entreambas gráficas es más clara.

Si exigimos que el grado de p sea menor o igual que N , se tiene que pN es único. Pues, si hubierados polinomios p1 y p2 interpoladores de f en los nodos x0, . . . , xN , el polinomio q = p1−p2 de gradomenor o igual que N se anula en los N + 1 puntos de interpolación (que recuérdese que estamossuponiendo distintos). Es decir, q tiene N + 1 raíces distintas, luego es el polinomio nulo. Estoscomentarios se recogen en el siguiente teorema.

Teorema 1 Sea f : [a, b] → R y N + 1 puntos diferentes {x0 < x1 < . . . < xN} ⊂ [a, b]. Entonces,existe un único polinomio p de grado menor o igual que N verificando

p(xj) = f(xj), para todo j = 0, 1, ..., N.

Dicho polinomio es el dado en (1)

Es importante saber qué error se comete al reemplazar una función f por su interpolante. Paradeducir cuál es el error (absoluto) f(x)− pN (x) en un punto x 6= xj , j = 0, . . . , xN , basta observarque la función

y 7→ g(y) = f(y)− pN(y)− (f(x)− pN (x))(y − x0) . . . (y − xN )

(x− x0) . . . (x− xN),

se anula en N + 2 puntos distintos (en los N + 1 puntos de interpolación y el punto x). Por tanto,por el teorema de Rolle, g′ se anulará en N +1 puntos intermedios a los anteriores, g′′ en N puntosintermedios a estos últimos, y, siguiendo con este razonamiento, concluimos g(N+1)(ξ) = 0 paraalgún punto

ξ ∈ (mın(x0, x),max(xN , x)).

Pero como la derivada de orden N + 1 del polinomio de grado N , pN(y) es nula y la del polinomiode grado N + 1, (y − x0) . . . (y − xN ), es (N + 1)! concluimos que

0 = g(N+1)(ξ) = f (N+1)(ξ)−(f(x)− pN(x))(N + 1)!

(x− x0) . . . (x− xN ),

4

Page 5: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

de donde podemos despejar el valor del error f(x)−p(x), en la fórmula que se recoje en el siguienteresultado.

Teorema 2 Sea f : [a, b] → R de clase CN+1[a, b] y N + 1 puntos diferentes {x0 < x1 < · · · <xN} ⊂ [a, b]. Si p es el correspondiente polinomio interpolador, se tiene que para cada x ∈ [a, b],existe un punto ξ = ξ(x) ∈ (mın(x0, x),max(xN , x)) tal que

f(x)− pN(x) =f (N+1)(ξ)

(N + 1)!(x− x0) . . . (x− xN ).

Respecto a la fórmula anterior conviene hacer dos precisiones. En primer lugar, en el exterior delintervalo [a, b], la función x 7→ |(x− x0) . . . (x− xN )| crece muy rápidamente fuera de [a, b], y máscuanto más alejado esté x de dicho intervalo. Por tanto, en el uso de la interpolación de Lagrangepara “aproximar” f fuera de este intervalo (proceso denominado extrapolación) debe evitarse, salvopara valores de x cercanos a [a, b]. Conviene que recuerde lo visto en el Ejemplo 1. En segundolugar, puede verse que la fórmula del error depende obviamente de f pero también de la elección delos nodos. Es posible buscar la mejor disposición de éstos para que el error sea pequeño, cuestión enla que no abundaremos en este curso pues raramente se presenta en la práctica la ocasión de elegirlos nodos de interpolación.

La forma en que hemos escrito el polinomio interpolador no siempre es la más útil desde elpunto de vista práctico, pues no permite evaluarlo en un punto con N +1 flops. Por ello es obligadoconocer la forma de Newton del polinomio interpolador, que se define de manera recurrente comocomo

p0(x) = f(x0), pj(x) = pj−1(x) + f [x0, . . . , xj ](x− x0), . . . (x− xj−1),

j = 1, . . . , N,

donde cada pj es el polinomio interpolador de f basado en los nodos x0, . . . , xj , y f [x0, . . . , xj ] esel coeficiente director de pj . De esta manera, tenemos que

pN(x) = f(x0) + f [x0, x1](x− x0) + f [x0, x1, x2](x− x0)(x− x1) +

+ f [x0, x1, x2, x3](x− x0)(x− x1)(x− x2) + · · ·+ f [x0, . . . , xN ](x− x0), . . . (x− xN−1).(2)

Así por ejemplo, el polinomio de grado 3 que interpola a f(x) = 1 + x4 en los nodos 0, 1, 2, 4 seescribe como

p4(x) = 1 + x+ 7x(x− 1) + 7x(x− 1)(x− 2).

En la forma de Newton (2) del polinomio interpolador, los diversos coficientes f [x0] = f(x0),f [x0, x1], . . . , f [x0, . . . , xN ], que, como hemos señalado, son los correpondientes coeficientes directo-res de los diversos polinomios interpoladores de f basados en los conjuntos de nodos {x0}, {x0, x1},. . . ,{x0, . . . , xN}, reciben el nombre de diferencias divididas de f basadas en los nodos x0, x1, . . . , xN .

Para calcular su valor, basta observar que el orden en que consideremos los nodos no afecta alpolinomio pN y que por tanto también se tiene

pN(x) = f(x1) + f [x1, x2](x− x1) + · · ·+ f [x1, . . . , xN ](x− x1) . . . (x− xN−1)

+ f [x1, . . . , xN , x0](x− x1), . . . (x− xN). (3)

5

Page 6: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

Ahora bien, puesto que el polinomio interpolador es único, tenemos por un lado que los coeficientesdirectores en (2) y (3) deben ser iguales, esto es,

f [x0, x1, . . . , xN ] = f [x1, . . . , xN , x0],

Por otro lado, igualando los coeficientes de grado N − 1 en (2) y (3) tenemos que

f [x0, . . . , xN−1]− f [x0, . . . , xN ](x0 + · · ·+ xN−1) = f [x1, . . . , xN ]− f [x0, . . . , xN ](x1 + · · ·+ xN)

de donde podemos despejar el valor f [x0, . . . , xN ] como

f [x0, . . . , xN ] =f [x1, . . . , xN ]− f [x0, . . . , xN−1]

xN − x0,

expresión que permite el cálculo recurrente de las diferencias divididas. Así por ejemplo, incializandof [xj ] = f(xj), j = 0, 1, 2, 3, el cálculo de la tabla

f [x0]f [x1] f [x0, x1]f [x2] f [x1, x2] f [x0, x1, x2]f [x3] f [x2, x3] f [x1, x2, x3] f [x0, x1, x2, x3]

se lleva a cabo calculando la primera columna, luego la segunda, y continuando el proceso hastacalcular la última diferencia dividida

f(x0)

f(x1) f [x0, x1] =f(x1)−f(x0)

x1−x0

f(x2) f [x1, x2] =f(x2)−f(x1)

x2−x1

f [x0, x1, x2] =f [x1,x2]−f [x0,x1]

x2−x0

f(x3) f [x2, x3] =f(x3)−f(x2)

x3−x2

f [x1, x2, x3] =f [x2,x3]−f [x1,x2]

x3−x1

f [x0, x1, x2, x3] =f [x1,x2,x3]−f [x0,x1,x2]

x3−x0

Dos observaciones son pertinentes. La primera es que los coeficientes del polinomio interpoladorescrito en forma de vienen dados por la diagonal de la tabla, pues por ejemplo

p4(x) = f(x0)+f [x0, x1](x−x0)+f [x0, x1, x2](x−x0)(x−x1)+f [x0, x1, x2, x3](x−x0)(x−x1)(x−x2).

La segunda es que el número de operaciones de calcular todos los coeficientes es N(N + 1)/2divisiones y N(N + 1) restas.

Observe además que, aunque parezca que para llevar a cabo este proceso en un ordenador serequiere una matriz de tamaño (N + 1) × (N + 1), en realidad se puede hacer con un vector delongitud N + 1, pues observe que, en la siguiente recurrencia, siempre podemos pasar de un vectoral siguiente,

f [x0]f [x1]f [x2]f [x3]

f [x0]f [x0, x1]f [x1, x2]f [x2, x3]

f [x0]f [x0, x1]f [x0, x1, x2]f [x1, x2, x3]

f [x0]f [x0, x1]f [x0, x1, x2]f [x0, x1, x2, x3]

(4)

conteniendo este vector los coeficientes de la forma de Newton del polinomio interpolador.

6

Page 7: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

Ejemplo 2 Determinar la forma de Newton del polinomio interpolador asociado a la tabla

xj -1 1 2 3f(xj) 1 3 2 -1

y calculemos su valor en x = 0.La tabla de diferencias divididas es

xj f(xj)

−1 13−1

1−(−1)= 1

1 3 −1−12−(−1)

= −23

2−32−1

= −1 −1−(−2/3)3−(−1)

= − 112

2 2 −3−(−1)3−1

= −1−1−23−2

= −3

3 −1

El polinomio interpolador pedido es pues

p(x) = 1 + (x+ 1)−2

3(x+ 1)(x− 1)−

1

12(x+ 1)(x− 1)(x− 2),

y evaluándolo en x = 0 obtenemos

p(0) = 1 + (1)−2

3(1)(−1)−

1

12(1)(−1)(−2) = 2 +

2

3−

1

6=

12 + 4− 1

6=

15

6=

5

2.

Nota 1 En muchos exámenes aparece una cuestón como la del ejemplo anterior. La experienciamuestra que la mayor parte de los errores en la resolución de esta cuestión son de tipo aritmético alcalcular la tabla de diferencia dividadas. Estos errores se pueden detectar fácilmente comprobandosi el polinomio calculado interpola los datos dados. Si hacemos esta comprobación, por inspecciónvemos que efectivamente es cierto que p(−1) = 1 y que p(1) = 3. Para x = 2 y x = 3 operamos,

p(2) = 1 + 3−2

3(3)(1) = 4− 2 = 2,

p(3) = 1 + 4−2

3(4)(2)−

1

12(4)(2)(1) = 5−

16

3−

2

3= 5−

18

3= 5− 6 = −1.

Como puede verse, son cuentas sencillas, que no cuesta nada hacer, y que nos aseguran que efecti-vamente hemos calculado el polinomio interpolador.

Otro error típico, aunque menos frecuente se produce al evaluar el polinomio interpolador.Podemos detectar fácilmente este error reescribiendo el polinomio y volviéndolo a evaluar. Para ellobasta recordar que para el cálculo del polinomio interpolador, el orden de los nodos es irrelevante,y que, por tanto, dicho polinomio es también

p(x) = f [x3]+f [x2, x3](x−x3)+f [x1, x2, x3](x−x3)(x−x2)+f [x0, x1, x2, x3](x−x3)(x−x2)(x−x1),

7

Page 8: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

esto es,

p(x) = −1− 3(x− 3)− (x− 3)(x− 2)−1

12(x− 3)(x− 2)(x− 1),

que al evaluarlo en x = 0 da

p(0) = −1− 3(−3)− (−3)(−2)−1

12(−3)(−2)(−1) = −1 + 9− 6 +

1

2= 2 +

1

2=

4 + 1

2=

5

2,

valor que al coincidir con el anteriormente calculado nos sugiere que efectivamente hemos hecho loscálculos correctamente.

Terminamos esta sección comentando que el polinomio interpolador puede no ser en algunoscasos la mejor forma de representar una función en todo un intervalo, incluso aunque la fórmula delerror nos lleve a pensar que así sea, o aunque haya casos como el visto en el Ejemplo 1 en los queel polinomio interpolador sea una excelente representación de la función.

Ejemplo 3 (El ejemplo de Runge). Para la función

f(x) =1

1 + x2,

en el intervalo [−5, 5], el polinomio interpolador pN (x) basado en nodos

xj = −5 + jh, j = 0, . . . N, h =10

N,

no converge a f cuando N →∞ en el sentido que

maxx∈[−5,5]

|f(x)− pN(x)| → ∞, cuando N →∞.

Las siguientes figuras muestran en trazo continuo la gráfica de la función f , y en trazo discontinuo lagráfica de los polinomios interpoladores p10 y p14, y con círculos los puntos en que ambas funcionescoinciden. La amplitud de las oscilaciones aumenta a medida que se toma N mayor.

−5 0 5−1

0

1

2

3

4

5

6

7

8grado N=10

−5 0 5−1

0

1

2

3

4

5

6

7

8grado N=14

Casos como éste son los que motivan la sección siguiente.

8

Page 9: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

2. Interpolación polinómica a trozos

Este es el procedimiento de interpolación que se utiliza en Matlab con el comando interp1. Siuna función f definida en un intervalo [a, b], para poder construir su interpolante a trozos se debeseleccionar una partición

∆ = {a = x0 < x1 < . . . < xN = b},

de [a, b]. El interpolante a trozos p∆ (subordinado a la partición ∆) satisface

1. p∆(xj) = f(xj), para j = 0, . . . , N ,

2. en cada intervalo [xj−1, xj ], j = 1, . . . , N , el interpolante p∆ es un polinomio de grado menoro igual que uno prefijado de antemano.

Nótese que en el interior de cada intervalo [xj−1, xj ], el interpolante a trozos p∆ es un polinomio,y por tanto continuo y derivable con continuidad tantas veces como se quiera, y al coincidir con fen los extremos del intervalo resulta ser entonces una función continua, pues los límites laterales dep∆ en cada nodo xj coinciden con f(xj).

2.1. Interpolación lineal a trozos

Por ejemplo, si fijamos el grado en 1, puesto que en cada intervalo [xj−1, xj] debe ser un polinomiode grado 1 que debe coincidir con f en los extremos del mismo, p∆ por fuerza debe ser en ese intervaloel polinomio interpolador p1 basado en los nodos xj−1 y xj , esto es,

p∆(x) =xj − x

xj − xj−1f(xj−1) +

x− xj−1

xj − xj−1f(xj), x ∈ [xj−1, xj ], j = 1, . . . , N

Este interpolante se conoce con el nombre de interpolante lineal a trozos. Su gráfica es una poligonalque coincide con f en los puntos de interpolacion. Observe por ejemplo el interpolante lineal a trozosde f(x) = cos(x) en el intervalo [0, 3] basado en la partición ∆ = {0, 1/2, 2, 3}

−1 0 1 2 3 4

−1.5

−1

−0.5

0

0.5

1

1.5

9

Page 10: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

(compare con el Ejemplo 1) o los interpolantes lineales de f(x) = 1/(1+ x2) basados en los mismos11 y 14 nodos con los que construimos el polinomio interpolador del Ejemplo 3.

−5 0 50

0.5

1

1.5N=10

−5 0 50

0.5

1

1.5N=14

Es interesante estudiar el error del interpolante lineal a trozos. Puesto que en cada intervalo[xj−1, xj ] el interpolante lineal a trozos es un polinomio interpolador, tedremos que el error deinterpolación es

f(x)− p∆(x) = f ′′(ξ)(x− xj−1)(x− xj)

2.

Denotandohj = xj − xj−1, j = 1, . . . , N, y h = max

jhj ,

(en lo que sigue esta sección mantendremos esta notación) y dado que

maxx∈[xj−1,xj ]

|(x− xj−1)(x− xj)| ≤h2j4,

tendremos entonces que

maxx∈[xj−1,xj]

|f(x)− p∆(x)| ≤h2j8

maxξ∈[xj−1,xj ]

|f ′′(ξ)| ,

y por tanto,

maxx∈[a,b]

|f(x)− p∆(x)| ≤h2

8maxξ∈[a,b]

|f ′′(ξ)| . (5)

Observe cómo esta última cota nos indica que basta con que f sea regular para que su interpo-lante lineal converja cuadráticamente a f cuando el diámetro h de la partición ∆ tiende a 0. Observeentonces que en el caso del Ejemplo de Runge, mientras el polinomio interpolador no converge cuadoN → ∞, el interpolante lineal a trozos converge cuando se toma como ∆ una partición uniformede N intervalos iguales (y por tanto h = 10/N) y N →∞.

2.2. Cúbicas de Hermite

El interpolante lineal a trozos tiene el inconveniente de que, siendo una función continua, no esderivable con continuadad (su derivada es una función constante a trozos con saltos en los nodos).

10

Page 11: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

Para obtener resultados que mejor reproduzcan una función regular se recurre a las cúbicas deHermite. Para definirlas, consideremos las funciones

φ(t) = 3t2 − 2t3 = −2t2(t−3

2) ψ(t) = t3 − t2 = t2(t− 1).

Por ser t = 0 un cero doble de ambas cúbicas, se tiene que

φ(0) = φ′(0) = 0, ψ(0) = ψ′(0) = 0,

sin embargo,φ(1) = 1, φ′(1) = 0, ψ(1) = 0, ψ′(1) = 1.

Con estas funciones construimos las cúbicas de Hermite, que en el intervalo [0,1] son

φ0(t) = φ(1− t), φ1(t) = φ(t), ψ0(t) = −ψ(1− t), ψ1(t) = ψ(t),

cuyas gráficas son las siguientes

0 0.5 10

0.2

0.4

0.6

0.8

1

φ1

0 0.5 10

0.2

0.4

0.6

0.8

1

φ0

0 0.5 1−0.5

0

0.5

ψ1

0 0.5 1−0.5

0

0.5

ψ0

y que se caracterizan por ser los únicos polinomios de grado menor o igual que tres tales que

φi(j) = δij , φ′

i(j) = 0, ψi(j) = 0, ψ′

i(j) = δij , i, j = 0, 1.

Por esta razón la función

p(t) = aφ0(t) + bφ1(t) + αψ0(t) + βψ1(t)

es un polinomio de grado menor o igual que 3 que toma los valores a y b en t = 0, 1, respectivamentey cuya derivada toma los valores α y β en 0, 1. Esto permite definir el interpolante cúbico a trozos p∆de una función f como

p∆(x) = f(xj−1)φ0(x− xj−1

hj) + f(xj)φ1(

x− xj−1

hj)

+ αj−1hjψ0(x− xj−1

hj) + αjhjψ1(

x− xj−1

hj), x ∈ [xj−1, xj],

que coincide con f en los nodos xj y cuya derivada toma valores

p′∆(xj) = αj , j = 0, . . . , N.

Nótese que por ser p∆ un interpolante a trozos es una función continua en todo [a, b], pero comoen el interior de cada intervalo [xj−1, xj ], el interpolante a trozos p∆ es un polinomio, es derivable

11

Page 12: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

con continuidad tantas veces como se quiera. Al tomar p′∆ el valor αj en cada nodo xj, los límiteslaterales de p′∆ en xj coinciden con αj , y por tanto p∆ es una función de clase C1 en [a, b].

Existen diversos procedimientos para elegir los αj. En Matlab el comando interp1, cuando elargumento correspondiente al método es ’cubic’, elige los αj de manera que se satisfaga

p′∆(x)(p∆(xj)− p∆(xj−1)) > 0, ∀x ∈ (xj−1, xj),

con objeto de preservar el carácter monótono del interpolante en aquellos subintervalos donde sesuponga que f lo es.

Nota 2 El interpolante a trozos basado en las cúbicas de Hermite aquí descrito no debe confun-dirse con lo que en buena parte de los libros de texto y tratados de métodos numéricos se llamainterpolante cubico de Hermite a trozos. En éste, los αj se toman como αj = f ′(xj) para todo j,con lo que el interpolante a trozos coincide con f y su derivada en los nodos xj . Por esta últimapropiedad, su cota de error es

maxx∈[a,b]

|f(x)− p∆(x)| =h4

384maxx∈[a,b]

|f ′′′′(x)| = O(h4).

El interpolante que usa Matlab y que hemos descrito, puesto que sus valores αj no coinciden engeneral con los f ′(xj), tiene en general una cota de error que decrece como O(h2). Esto podemoscomprobarlo en el siguiente gráfico donde para la función f(x) = cos(4(x−0,3)) calculamos el errormáximo del interpolante lineal (en línea de trazo continua), que como vimos en (5) se comportacomo O(h2) y del interpolante basado en las cúbicas de Hermite que utiliza Matlab (en línea detrazo discontinuo), sobre particiones uniformes del intervalo [−1, 1] (xj = −1 + jh, j = 0, . . . , N ,N = 1/h) para valores de h = 1/10, 1/20, . . . , 1/640.

10−3

10−2

10−1

10−7

10−6

10−5

10−4

10−3

10−2

h=1/N

erro

r

f(x)=cos(4(x−0.3))

shape preserving cubic

linear

slopes: 2.00, 2.001

Las pendientes de las rectas ajustadas por mínimos cuadrados a los pares (h, error) se muestranel gráfico, corroborando lo que se aprecia que es que el error de ambos interpolantes a trozos secomporta como O(h2), aunque el del basado en las cúbicas de Hermite es significativamente menorque el del lineal a trozos.

12

Page 13: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

2.3. Interpolación por splines

Un spline cúbico es un interpolante a trozos S∆ de clase C2 en [a, b] y que en cada subinterva-lo [xj−1, xj] es un polinomio de grado menor o igual que tres.

Para construirlo, basta tomar el interpolante a trozos cúbico p∆(x) que, per sencillez, denotare-mos p(x),

p(x) = f(xj−1)φ0(x− xj−1

hj) + f(xj)φ1(

x− xj−1

hj)

+ αj−1hjψ0(x− xj−1

hj) + αjhjψ1(

x− xj−1

hj), x ∈ [xj−1, xj ],

que, como hemos visto es de clase C1 en [a, b], y determinar los αj para que, en cada nodo interiorxj , j = 1, . . . , N − 1 los límites laterales de la segunda derivada

p′′(xj−) = lımx→xjx<xj

p′′(x), p′′(xj+) = lımx→xjx>xj

p′′(x),

coincidan. Un sencillo cálculo muestra que estos valores son,

p′′(xj−) =1

hj

(

6f(xj−1)− f(xj)

hj+ 2αj−1 + 4αj

)

,

p′′(xj+) =1

hj+1

(

6f(xj+1)− f(xj)

hj+1− 2αj+1 − 4αj

)

.

Imponiendo que p′′(xj−) = p′′(xj+) en cada nodo interior xj , obtenemos que se debe satisfacer elsiguiente sistema de N − 1 ecuaciones con N + 1 incógitas,

1

hjαj−1 + 2

(

1

hj+

1

hj+1

)

αj +1

hj+1αj+1 = 3

(

−f(xj−1)

h2j+

(

1

h2j−

1

h2j+1

)

f(xj) +f(xj+1)

h2j+1

)

, (6)

j = 1, . . . , N − 1.

Existen diversos procedimientos para completar este sistema con otras dos eucuaciones más demodo que los αj queden univocamente determinados. El procedimiento que se utiliza en Matlab

en el comando interp1 con su cuarto argumento ’spline’, es imponer en los dos nodos interioresextremos, x1 y xN−1, lo que se conoce como condición "not-a-knot". Consiste en pedir que en dichosnodos, el interpolante no sólo sea C1 sino C3, esto es,

p′′′(x1−) = p′′′(x1+), p′′′(xN−1−) = p′′′(xN−1+).

Un sencillo cálculo muestra que estas dos condiciones dan lugar a las siguientes ecuaciones.

1

h21α0 −

(

1

h21−

1

h22

)

α1 −1

h22α2 = 2

f(x1)− f(x0)

h31+ 2

f(x1)− f(x2)

h32, (7)

1

h2N−1

αN−2 −

(

1

h2N−1

−1

h2N

)

αN−1 −1

h2NαN = 2

f(xN−1)− f(xN−2)

h3N−1

+ 2f(xN−1)− f(xN )

h3N. (8)

13

Page 14: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

Respecto a la resolubilidad del sistema de ecuaciones, basta observar que sobre una red uniforme(hj = h, para todo j) de (7-8) podemos despejar

α0 = α2 − 2(f(x2)− 2f(x1) + f(x0)), αN = αN−2 + 2(f(xN)− 2f(xN−1) + f(xN−2)).

y eliminar α0 y αN de las de las N−1 ecuaciones restantes (6). La matriz de coeficientes del sistemaresultante (tras multiplicar cada ecuación por h) es la matriz tridiagonal

4 21 4 1

. . .. . .

. . .

1 4 12 4

.

Esta matriz, según el teorema de los círculos de Gerschgorin que vimos en la lección anterior tienetodos sus autovalores con parte real mayor estrictamente que 2, luego es invertible. El mismo razo-namiento permite probar que el sistema (6–8) tendrá una única solución siempre que las cocientesh2/h1 y hN/hN−1 no disten excesivamente de 1.

La condición "not-a-knot"descrita también es la que se utiliza en el comando spline de Matlab.Este comando devuelve los mismos resultados que el comando interp1 con la opción ’spline’. Sinembargo el comando spline, si el número de componentes del vector y de valores f(xj) que se leproporcionana supera en dos unidades al número de nodos xj , el comando spline toma la primeracomponente del vector y como valor de f ′(x0) (esto es como valor α0) y la última componentede y como f ′(xN ) (esto es, como valor αN). Esta es otra posibilidad de de construir un spline:proporcionando los valores de f en los nodos de la partición ∆ y los valores de f ′ en los extremosdel intervalo [a, b]. El spline así obtenido recibe el nombre de sujeto.

Ejemplo 4 Típicamente en la industria se desea representar un perfil (la superficie de una herra-mienta, el casco de un buque, etc) midiendo con exactitud los menos puntos posibles de dicho perfil,e interpolando el resto. Los splines cúbicos, por ser funciones con dos derivadas continuas, producencurvas de interpolación más suaves. En ocasiones, sin embargo, pueden presentar oscilaciones delas que carece la función que se quiere representar. El interpolante cúbico basado en las cúbicas deHermite, aunque da lugar a curvas menos suaves, no suele padecer este defecto.

Un caso donde se aprecia este comportamiento es el afamado ejemplo de Akima, en el que latabla de valores a interpolar es la siguiente.

xj 0 2 3 5 6 8 9 11 12 14 15f(xj) 10 10 10 10 10 10 10.5 15 50 60 85

Observe que los valores a interplar f(xj) forman una serie creciente, con lo que sería deseable queeste comportamiento lo tuviese también el interpolante.

Los resultados obtenidos con el comando iterp1 de Matlab se muestran en las dos figurassiguientes. Los puntos de interpolación (xj , f(xj)) aparecen indicados con circulitos. Como puedeapreciarse, el interpolante cúbico basado en las cúbicas de Hermite produce una función mónotona,

14

Page 15: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

como la tabla de datos, mientras el spline cúbico presenta oscilaciones.

0 5 10 150

10

20

30

40

50

60

70

80

90shape preserving cubic

0 5 10 150

10

20

30

40

50

60

70

80

90cubic spline

Ejemplo 5 Los splines no tienen por qué producir curvas indeseadas. Por ejemplo, el contorno dela siguiente llave fija

contiene cinco segmentos retos, tres en el mango y dos en la muesca para abrazar la tuerca que sedesee atornillar, y tres trozos curvos. Para la representacion gráfica que hemos mostrado, los trestrozos curvos se reprodujeron con splines, tal y como indicamos en la siguiente figura, donde, comohemos venido haciendo, los puntos de interpolación aparecen marcados con círculos.

0 1 2 3 4 5 62.5

3

3.5

4

4.5

5

5.5

6

6.5

7

7.5

Las curvas superior e inferior se obtuvieron con splines donde se interpolaron los valores de lacoordenada vertical como función de la coordenada horizontal, y la curva restante se interpoló

15

Page 16: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

los valores de la coordenada horizontal en función de la vertical. Así por ejemplo, la tabla deinterpolación para la curva inferior fue la siguiente.

xj 0.10 0.20 0.55 1.10 1.65 2.45 3.10 3.80 4.60 5.10 5.82yj 4.00 3.80 3.30 2.90 2.65 2.50 2.50 2.80 3.30 3.45 3.32

Terminamos la lección mencionando las cotas de error que satisfacen los splines. En [3], puedeencontrar la prueba de la cota

maxx∈[x0,xN ]

|f(x)− S∆(x)| ≤ C maxx∈[x0,xN ]

∣f ′′′′(x)∣

∣h4,

donde C es una constante independiente de h, para el spline sujeto. También se puede probar unacota similar para el Spline obtenido mediante la condición "not-a-knot". Información abundantesobre los splines puede encontrar en [1].

Algunas de las cuestiones de esta lección se han tomado de la obra citada de Sanz-Serna [2].Encontrá útil este libro no sólo para ampliar sus conocimientos sobre interpolación sino sobre otrosde los temas vistos en curso.

Referencias

[1] C. de Boor, A practical guide to splines, Springer, New York, 2001.

[2] J. M. Sanz-Serna, Diez Lecciones de Cálculo Numérico, Universidad de Valladolid, 1998.

[3] J. Stoer and R Bullirsch, Introduction to Numerical Analysis, Springer Verlag, New York 1993.

3. Cuestiones y problemas

CUESTIONES

Ejercicio 1 Dterminar el polinomio interpolador asociado a la tabla

xj 2 3 -1f(xj) 1 2 3

Ejercicio 2 Determinar el polinomio interpolador de f(x) = x4− 2x3− x2+4x− 3, asociado a losnodos x0 = −1, x1 = 0, x2 = 1 y x3 = 2.

Ejercicio 3 Basándose en el algoritmo de Horner, describa cómo se puede evaluar el polinomiointerpolador con N multiplicaciones si está escrito en forma de Newton.

Ejercicio 4 Pruebe que los polinomios de Lagrange asociados a x0, x1, . . . , xN , satisfacen la igual-dad L0(x)+· · ·+LN(x) = 1. ¿Qué razón habrá para que también x0L0(x)+x1L1(x)+· · ·+xNLN(x) =x? Generalice.

16

Page 17: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

Ejercicio 5 Si en el problema de interpolación de Lagrange, la propia función f es un polinomiode grado menor o igual que N , ¿qué polinomio interpolador se obtiene? Si f no es un polinomio yse interpola al interpolante de f , ¿cuál es el resultado?

Ejercicio 6 Si buscásemos un polinomio de grado menor o igual que N + 1 que interpolase a f enlos N+1 nodos x0, . . . , xN , el resultado ya no sería único. Describa todos los posibles interpoladoresde este tipo.

Ejercicio 7 Determine los valores de λ y µ para los cuales la función

S(x) =

{

λx(x2 + 1), 0 ≤ x ≤ 1−λx3 + µx2 − 5λx+ 1, 1 ≤ x ≤ 2

es una spline cúbica.

Ejercicio 8 Encontrar el polinomio p de grado menor o igual que 3 que interpola la tabla

xj 0 1 2 3yj 1 2 0 -2

y evaluarlo en el punto 3/2.

Ejercicio 9 Pruebe que si f es un polinomio de grado menor o igual que N , entonces cualquierdiferencia dividida de f de orden N + 1 o mayor es nula.

Ejercicio 10 Para cada x 6= x0, . . . , xN , ¿por qué es cierta la siguiente igualdad

f(x)− pN(x) = f [x0, . . . , xN , x](x− x0) . . . (x− xN )?

Cambiando N por N − 1, x por xN y aplicando el Teorema 2, deduzca que

f [x0, . . . , xN ] =f (N)(ξ)

N !,

para algun ξ ∈ (mın(x0, . . . , xN),max(x0, . . . , xN)).

Ejercicio 11 Calcular el spline cúbico asociado a la tabla

xj -2 -1 0 1 2yj 0 0 1 0 0

y determinado por la condición "not-a-knot.en ambos extremos.

Ejercicio 12 (Primer Parcial 2007) Calcular el valor en x = 3 del polinomio p de grado a losumo tres que satisface p(1) = 1, p(2) = −1, p(4) = 2 y p(8) = 1.

Ejercicio 13 (Junio 2009) Calcular el spline cúbico s asociado a la tabla

xj -2 -1 0 1yj 0 1 0 1

y determinado por la condición "not-a-knot.en x = −2 y sujeto en x = 1 con s′(1) = 0. Calcular elvalor de dicho spline en x = 1/2.

17

Page 18: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

Ejercicio 14 Calcular en función de α, el valor en x = 3 del polinomio p de grado a lo sumo tresque satisface p(−1) = 1, p(1) = 0, p(2) = α y p(4) = 3.

Ejercicio 15 Calcular el spline cúbico s asociado a la tabla

xj 0 1 2yj 0 1 3

sujeto en ambos extremos con s′(0) = s′(2) = 0. Calcular el valor de dicho spline en x = 3/2.

PROBLEMAS

Problema 1 En este problema se abordan diversos aspectos computacionales ligados a la obtencióny evaluación del polinomio de interpolación en la forma de Newton.

1. Diseñe una función de Matlab que dados un vector de abscisas [x0, ..., xN ]T y otro de ordenadas

[y0, ..., yN ]T , devuelva el vector columna de diferencias divididas

[y0, y[x0, x1], ..., y[x0, x1, ..., xN ]].

2. Usando la función anterior, obtenga el polinomio de interpolación, en la forma usual y en laforma de Newton, asociado a la tabla de datos

xj 0 1 -1 2yj 3 5 -1 11

Compruebe que ambas expresiones son idénticas.

3. Utilizando la función del apartado uno, diseñe una función que dados un vector de abscisas[x0, ..., xN ]

T , otro de ordenadas [y0, ..., yN ]T y otro s = [s1, ..., sJ ]

T , devuelva el vector columna

[p(s1), ..., p(sJ)]T ,

donde p es el polinomio que interpola a los valores yj en los nodos xj .

4. Utilizando la función anterior, dibuje en el intervalo [−2, 3] el polinomio obtenido en el apar-tado dos, mostrando gráficamente que pasa por los cuatro puntos (xj , yj) de la tabla dada.

Problema 2 Considere a continuación la función de Bessel J2(x).

1. Dibuje la función de Bessel J2(x) en el intervalo [0, 8]. Estime además el valor de su derivadaen los puntos x = 2 y x = 8 mediante un cociente incremental con paso h = 10−5.

2. Mediante el comando spline, dibuje el spline sujeto, basado en los nodos 2, 3, 4, 5, 6, 7 y 8,y con valores de la derivada y′2 = 0,0009 en x = 2, e y′8 = 0,5588 en x = 8. Si no recuerda loque es el spline sujeto, lea el párrafo inmediatamente anterior al Ejemplo 4.

18

Page 19: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

3. ¿Considera que el spline obtenido en el apartado anterior representa bien a J2 en el interva-lo [2, 8]? Si se sustityen los valores de la derivada en x = 2 y x = 8 por los obtenidos en elprimer apartado, ¿por qué mejora la representación de J2 desde un punto de vista gráfico?¿Qué ocurre si cambiamos el spline sujeto por el que impone la condición "not-a-knot.en ambosextremos. Estime el error máximo de estos interpolantes averiguando el máximo error sobrelos puntos de una partición muy fina de [2,8].

4. Dibuje ahora el polinomio interpolador basado en los nodos 2, 3, 4, 5, 6, 7 y 8. Estime su errormáximo y compare con las estimaciones del error máximo en el apartado anterior.

5. Repita los dos apartados anteriores con con nodos 2, 2,5, 3, . . . , 7,5, 8, con nodos 2, 2,25, 2,5, . . .,7,75, 8 y con nodos 2, 2,125, 2,5, . . . , 7,775, 8. ¿Qué observa? ¿Qué piensa ahora de lo signifi-cativo que pueda ser el ejemplo de Runge visto en la lección?

6. Repita el apartado anterior pero cambiando el intervalo [2, 8] por el intervalo [0, 8]. ¿Cómodebemos entender entonces el ejemplo de Runge?

19

Page 20: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

Problema 3 Considere el interpolante del ejemplo de Akima, esto es, el interpolante basado encúbicas de Hermite que interpola los valores de x e y de la siguiente tabla.

xj 0 2 3 5 6 8 9 11 12 14 15yj 10 10 10 10 10 10 10.5 15 50 60 85

1. Sabiendo que mediante la orden interp1 disponemos del valor de la función en cada puntoque queramos, ¿cómo podríamos calcular el área que queda entre dicho interpolante y el ejehorizontal?

2. Calcule dicho área con un error inferior a 10−4.

3. ¿Podemos disponer de la derivada de del mencionando interpolante en cada punto? ¿Cómopodríamos entonces calcular la longitud del mismo, sabiendo que la longitud de una curva(x, f(x)), con x ∈ [a, b], viene dada por

∫ b

a

1 + |f ′(x)|2dx?

4. Calcule dicho longitud con un error inferior a 10−4.

Problema 4 (Junio 2006) En el curso hemos visto la interpolación polinómica de Lagrange,donde los nodos de interpolación x0, . . . , xN deben ser distintos dos a dos y los datos de interpolaciónson los valores f(x0), . . . , f(xN) de la función f en los nodos. En este problema abordamos lainterpolación de Hermite, en el caso particular de la interpolación osculatoria, donde se interpola af y a su derivada f ′ en lo nodos de interpolación. La forma de Newton del polinomio interpoladorosculatorio de grado menor o igual que N que interpola a f y a f ′ en los nodos x0 < x2 < x4 <. . . < xN−1 (note que sólo hay subíndices pares) es como el que hemos visto en el curso, esto es,

pN(x) = f(x0) + f [x0, x1](x− x0) + f [x0, x1, x2](x− x0)(x− x1) +

+ f [x0, x1, x2, x3](x− x0)(x− x1)(x− x2) + · · ·+ f [x0, . . . , xN ](x− x0), . . . (x− xN−1),

pero ahorax1 = x0, x3 = x2, . . . , xN = xN−1, (9)

(N +1 nodos, pero sólo (N +1)/2 distintos dos a dos). Las correspondientes diferencias divididas seconocen como diferencias divididas con argumentos repetidos, y se calculan igual que las diferenciasdivididas que hemos visto en el curso,

f [x0, . . . , xl] =f [x1, . . . , xl]− f [x0, . . . , xl−1]

xl − x0,

excepto las de orden uno que son como sigue:

f [xj−1, xj ] =

gj , si xj = xj−1

gj − gj−2

xj − xj−2, si xj 6= xj−1.

donde se satisface (9) y

[g0, g1, g2, g3 . . . , gN−1, gN ] = [f(x0), f′(x1), f(x2), f

′(x3), . . . , f(xN−1), f′(xN )]. (10)

20

Page 21: MÉTODOS MATEMÁTICOS (Curso 2011-2012) · MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de

1. Escriba la tabla de diferencias divididas con argumentos repetidos de la función f que satisfacef(1) = 1, f ′(1) = 2, f(3) = 3 y f ′(3) = 4 y escriba la forma de Newton del correspondientepolinomio interpolador osculatorio de grado menor o igual que 4 (aproveche para compro-bar que satisface los datos pedidos y que ha entendido cómo se calculan las diferencias conargumentos repetidos). Escriba el valor de p(0).

2. Modifique la función de Matlab de cálculo de diferencias divididas que programamos duranteel curso para que dado un vector con las abcisas x0, . . . , xN satisfaciendo (9) y el vector gde (10), devuelva el vector cuyas componentes son las diferencias divididas con argumentosrepetidos

f(x0), f [x0, x1], f [x0, x1, x2], . . . , f [x0, . . . , xN ].

Escriba el listado de la función resultante.

3. Para los nodos x0 = x1 = 1, x2 = x3 = 1,5, x4 = x5 = 2,75 y x6 = x7 = 5, escriba las 6primeras cifras significativas el valor de f [x0, . . . , x7] si el correspondiente vector g de (10) es

g = [1,−1, 2,−2, 3,−3, 4,−4].

4. Para los datos del apartado anterior, escriba las seis primeras cifras significativas del valor delcorrespondiente polinomio interpolador osculatorio en x = 3 y x = 4.

21