Sie sind auf Seite 1von 5

METODOS

MATEMATICOS (Curso 2015-2016)


Segundo Curso del Grado en Ingeniera de Tecnologas Industriales
Departamento de Matematica Aplicada II. Universidad de Sevilla

Leccion 3: Interpolacion
Introducci on. En muchas situaciones, aparecen conjuntos de datos o resultados de mediciones
experimentales de los que solo se conoce una cierta cantidad, 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 funcion que tome valores predeterminados. Precisamente, este es el cometido
basico de la interpolacion: dada una tabla de datos, se trata de encontrar una funcion cuyo
comportamiento en los puntos dados se ajuste, en alg un sentido, a los valores proporcionados
por la tabla.
La eleccion del tipo de funciones interpoladoras depende basicamente del contexto en que se
este trabajando y, como es previsible, hay una gran variedad. En este curso, solo trataremos la
interpolacion polinomica de Lagrange y ciertos tipos de interpolacion polinomica a trozos (lineal
y splines).

POLINOMICA
INTERPOLACION

La interpolacion polinomica tiene gran importancia teorica en el Analisis Numerico, puesto


que permite fundamentar una amplia gama de metodos para la diferenciacion numerica, la aprox-
imacion numerica de integrales o cuadratura, la integracion numerica de ecuaciones diferenciales,
el calculo de extremos de funciones, etc.
Los polinomios son funciones que presentan muchas ventajas a la hora de su manejo practico.
Por ejemplo, son derivables con continuidad tantas veces como se desee y su derivada es muy
facil de obtener. A la hora de evaluar un polinomio de grado N :

p(x) = a0 + a1 x + + aN xN ,

un a x, x2 , etc, y escribirlo en forma anidada:


es conveniente sacar factor com

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

de donde se obtiene de modo natural el algoritmo de Horner-Rufini para su evaluacion:

1. p aN ,

2. para j = N 1, . . . , 0: p aj + xp.

Este algoritmo permite evaluar el polinomio con N multiplicaciones y N sumas.

1
El problema general de la interpolacion polinomica consiste en, dada una funcion f : [a, b] !
R y N + 1 puntos diferentes: 0 < 1 < < N del intervalo [a, b], denominados nodos de la
interpolacion, encontrar un polinomio pN (x) tal que

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

Una forma de resolver este problema se basa en los denominados polinomios de Lagrange
(asociados a los nodos 0 , . . . , N ), que estan definidos como

YN
x l
Lj (x) = , j = 0, . . . , N.
l=0
j l
l6=j

Es facil comprobar que estos polinomios cumplen:



1, l = j,
Lj (l ) =
0, l 6= j.

De esta manera, si tenemos los N + 1 polinomios de Lagrange, se observa que una solucion del
problema de interpolacion es simplemente

pN (x) = f (0 )L0 (x) + + f (N )L(x).

Esta expresion se denomina forma de Lagrange del polinomio interpolador.


Si exigimos que el grado del polinomio interpolador sea menor o igual que N , se tiene que
pN (x) es u
nico. En efecto, si hubiera dos polinomios interpoladores p1 (x) y p2 (x), su diferencia
q(x) = p1 (x) p2 (x) sera un polinomio de grado menor o igual que N se anula en los N + 1
nodos de interpolacion. Es decir, q(x) tiene N + 1 races distintas, luego debe ser el polinomio
nulo. Estos comentarios se recogen en el siguiente teorema.
Teorema 1. Consideremos una funcion f : [a, b] ! R y N + 1 puntos diferentes del intervalo
[a, b]: 0 < 1 < < N . Entonces, existe un u
nico polinomio pN (x) de grado menor o igual
que N que verifica
pN (j ) = f (j ), para todo j = 0, 1, ..., N .

Obviamente, una expresion para dicho polinomio interpolador viene dada por la forma de
Lagrange antes mencionada.
No obstante, esta forma de Lagrange para el polinomio interpolador no siempre es la mas
u
til en la practica, pues no permite evaluarlo en un punto con N + 1 flops. Ademas, si necesita-
mos a nadir algunos nodos mas (esquemas adaptativos) no podemos reutilizar los calculos. Para
solventar estas dificultades, se usa la forma de Newton del polinomio interpolador:

pN (x) = f (0 ) + f [0 , 1 ](x 0 ) + f [0 , 1 , 2 ](x 0 )(x 1 ) +


+f [0 , 1 , 2 , 3 ](x 0 )(x 1 )(x 2 ) + + f [0 , . . . , N ](x 0 ) (x N 1 ).

Los diversos coeficientes f [0 ], f [0 , 1 ], . . . , f [0 , . . . , N ] de la forma de Newton del poli-


nomio interpolador reciben el nombre de diferencias divididas de f (x) en los nodos 0 , 1 , . . . , N .

2
Para calcular su valor, construimos la siguiente tabla:
f [0 ] = f (0 )
f [1 ] = f (1 ) f [0 , 1 ] = f (11)f
0
(0 )

f [2 ] = f (2 ) f [1 , 2 ] = f (22)f
1
(1 )
f [0 , 1 , 2 ] = f [1 ,2 ]f [0 ,1 ]
2 0
f [3 ] = f (3 ) f [2 , 3 ] = f (33)f
2
(2 )
f [1 , 2 , 3 ] = f [2 ,3 ]f [1 ,2 ]
3 1 f [0 , 1 , 2 , 3 ] = f [1 ,2 ,3 ]f [0 ,1 ,2 ]
3 0
.. .. .. ..
. . . .
Observe que los valores de interpolacion permiten construir la primera columna, y el resto de
la tabla se completa recurrentemente: cada elemento se obtiene a partir de los elementos de la
columna anterior que estan situados al oeste y al noroeste de el. Los coeficientes de la forma de
Newton del polinomio interpolador aparecen en la diagonal de la tabla. El n umero de operaciones
de calcular todos los coeficientes es de N (N + 1)/2 divisiones y N (N + 1) restas.

Con respecto al problema de determinar el error que se comete al aproximar una funcion
f (x) por su polinomio interpolador, se tiene el siguiente resultado:
Teorema 2. Consideremos una funcion f : [a, b] ! R de clase C N +1 [a, b] y N +1 puntos diferentes
de intervalo [a, b]: 0 < 1 < < N . Si pN (x) es el correspondiente polinomio interpolador,
se tiene que para cada x 2 [a, b], existe un punto = (x) tal que
f (N +1) ()
f (x) pN (x) = (x 0 ) (x N ).
(N + 1)!
Ademas, mn(0 , x) < < max(N , x).

Respecto a la formula anterior conviene hacer dos precisiones. En primer lugar, en el exterior
del intervalo [a, b], la funcion W (x) = (x 0 ) (x N ) tiende muy rapido a infinito cuando
x se aleja de dicho intervalo hacia infinito. Por tanto, el uso de la interpolacion de Lagrange
para aproximar f (x) fuera de este intervalo (proceso denominado extrapolacion) debe evitarse,
salvo para valores de x cercanos a [a, b]. En segundo lugar, puede verse que la formula del error
depende obviamente de f (x) pero tambien de la eleccion de los nodos. Es posible buscar la mejor
disposicion de estos para que el error sea peque no, cuestion en la que no abundaremos en este
curso pues raramente se presenta en la practica la ocasion de elegir los nodos de interpolacion.

POLINOMICA
INTERPOLACION A TROZOS
Desde un punto de vista grafico, la interpolacion polinomica tiene una gran desventaja:
cuando se tienen muchos datos a interpolar, el correspondiente polinomio interpolador tiene
necesariamente un grado alto y presenta numerosas oscilaciones. Para mitigar estos efectos, la
estrategia usual es dividir el intervalo en varios trozos y en cada uno de ellos interpolar los datos
por un polinomio de grado bajo. Este proceso se conoce como interpolacion a trozos.
Si una funcion f (x) esta definida en un intervalo [a, b], para poder construir su interpolante
a trozos se debe seleccionar una particion del intervalo
{a = 0 < 1 < < N = b}.

3
El interpolante a trozos p (x) (subordinado a la particion ) satisface:
1. p (j ) = f (j ), para cada j = 0, . . . , N ,
2. p (x) es un polinomio de cierto grado (prefijado a priori) en cada intervalo [j1 , j ].
Puesto que p (x) es un polinomio en cada [j1 , j ], y coincide con f (x) en los extremos, el
interpolante a trozos resulta ser entonces una funcion continua.
Interpolaci on lineal a trozos. Si fijamos el grado en 1, p (x) es en cada intervalo [j1 , j ]
el polinomio interpolador de grado menor o igual que uno basado en los nodos j1 y j , esto
es,
j x x j1
p (x) = f (j1 ) + f (j ), x 2 [j1 , j ], j = 1, . . . , N.
j j1 j j1
Este interpolante se conoce con el nombre de interpolante lineal a trozos. Su grafica es una
poligonal que coincide con f (x) en los puntos de interpolacion. Respecto al error del interpolante
lineal a trozos, tenemos que
h2
max |f (x) p (x)| max |f 00 ()| .
x2[a,b] 8 2[a,b]
Es decir, si la funcion f (x) es suficientemente derivable, su interpolante lineal converge cuadratica-
mente a f (x) cuando el diametro h tiende a 0 (el diametro de la particion se define como
h = maxk |k+1 k |).
Interpolaci on por splines. El interpolante lineal a trozos tiene el inconveniente de que, siendo
una funcion continua, no es derivable con continuidad (su derivada es una funcion constante a
trozos con saltos en los nodos).
Para obtener resultados que representen mejor a una funcion regular se recurre a polinomios
de bajo grado en cada subintervalo, imponiendo condiciones adicionales que aseguren un enlace
suave entre intervalos adyacentes.
El mas habitual es el llamado spline. Esta palabra inglesa denota un instrumento flexible
usado en dibujo tecnico que sirve para trazar curvas suaves (de hecho, algunas veces se traduce
como trazador o cercha). Se trata de una regla que puede ser adaptada, flexionandola, a la forma
que tome la curva que se desea dibujar. Precisamente, la propiedad de adaptarse bien a formas
dadas que tienen las funciones spline es su aspecto mas destacado.
Se denomina spline respecto de la particion a cualquier funcion S (x) de clase C 2 [a, b] que
coincida en cada intervalo [j , j+1 ] (i = 0, 1, ..., N 1) con un polinomio de grado menor o igual
que 3. El problema de interpolacion por splines consiste en, dada la funcion f (x), encontrar un
spline S(x) = S (x) tal que
S (j ) = yj = f (j ), para todo j = 0, 1, ..., N.
Observemos que el calculo efectivo se traduce en la determinacion de los coeficientes de las
correspondientes cubicas. Puesto que tenemos N subintervalos determinados por la particion ,
deben determinarse 4N coeficientes.
Por otra parte, deben cumplirse 2N condiciones de interpolacion (dos por cada una de las
ubicas) as como 2(N 1) condiciones que garanticen que el spline sea de clase C 2 [a, b] (deben
c
de coincidir las derivadas laterales de primer y segundo orden en los nodos interiores).

4
En definitiva, tenemos un sistema de 4N 2 ecuaciones y 4N incognitas. Este problema
siempre tiene solucion aunque no es u
nica. Para garantizar la unicidad, se imponen condiciones
adicionales, lo que conduce a distintos tipos de splines: naturales, sujetos, periodicos, not-a-
knot,...
00 00
El spline natural se determina imponiendo que S (a) = S (b) = 0.

nadiendo condiciones del tipo S 0 (a) = y00 y S 0 (b) = yN


El spline sujeto se obtiene a 0
.

El spline not-a-knot (N 4) se obtiene imponiendo que la c ubica en [0 , 1 ] sea la misma


que en [1 , 2 ] y que la c
ubica en [N 2 , N 1 ] sea la misma que en [N 1 , N ]. Estas
condiciones equivalen a que la derivada tercera del spline sea continua en 1 y en N 1 .

El comportamiento del error para las funciones spline es bastante mejor que en el caso
polinomial. Una muestra es el siguiente resultado:
Teorema 3. Sea f : [a, b] ! R de clase C 4 [a, b], con |f (4) (x)| M, para todo x 2 [a, b]. Si
S(x) = S es el spline sujeto tal que S 0 (a) = y00 y S 0 (b) = yN
0
, que interpola a la funcion f (x)
en los nodos de la particion , entonces:
5
max |f (x) S(x)| M h4 .
axb 384

Consecuentemente, si f 2 C 4 [a, b], el resultado anterior implica que tomando el diametro h


de la particion tendiendo a cero, los correspondientes splines sujetos convergen hacia f (x).
Las ordenes de Matlab que permiten realizar interpolaciones polinomicas a trozos son
interp1 y spline.

Das könnte Ihnen auch gefallen