Professional Documents
Culture Documents
x0
x1
...
xn
y0
y1
...
yn
Aunque existe uno y slo un polinomio de interpolacin de grado menor o igual que n
asociado a los datos de partida, dicho polinomio puede expresarse de maneras distintas y se
llega a l a travs de distintos algoritmos, lo que se traduce en polinomios de interpolacin
con nombres diversos.
Construccin del polinomio interpolador de Lagrange grado1:
Se busca un polinomio de primer grado que interpole los valores de f en dos puntos:
(x0, y0 = f(x0)) y (x1, y1 = f(x1))
Es el polinomio de grado uno (recta) que pasa por los dos puntos distintos (x0, y0) y (x1, y1).
Primero se definen las funciones:
L0 (x) =
x x1
x 0 x1
L1 ( x ) =
x x0
x1 x 0
x x0
x x1
f(x0) +
f(x1)
x0 x1
x1 x0
si i k
si i = k
( x x0 )( x x1 )...( x x k 1 )( x x k +1 )...( x xn )
( xk x0 )( xk x1 )...( xk x k 1 )( xk x k +1 )...( xk xn )
P ( x) = L0 ( x) f ( x0 ) + ... + Ln ( x) f ( xn ) = Lk ( x) f ( xk )
k =0
( x xi )
i = 0,i k ( xk xi )
n
Nota: El polinomio interpolador de Lagrange tiene ms importancia terica que prctica pues
es relativamente costoso de evaluar y ha de recalcularse completamente para aadir otro punto
ms a la interpolacin.
Calculamos una cota del error cometido al aproximar una funcin mediante el polinomio
interpolador de Lagrange.
4.1.3. Error de interpolacin
Si P(x) interpola la funcin f(x) en los puntos distintos entre s x0, x1, . . . , xn de un intervalo
[a, b] y f es una funcin de clase Cn+1([a, b]), entonces, para cada x en [a, b] existe un
nmero de c(x) en (a, b) tal que
f ( x ) = P( x ) +
f n +1) (c ( x ))
( x x 0 )( x x1 )...(x x n )
(n + 1)!
Nota : Si la derivada de orden n+1 es una funcin acotada en [a, b], entonces:
| f n +1) ( x ) | M | f ( x ) P( x ) |
M
(b a ) n +1
(n + 1)!
Diferencias divididas
Sea Pn(x) el polinomio interpolador de Lagrange que coincide con la funcin f en los
nmeros distintos x0, x1, . . . , xn. Pn(x) puede expresarse en la forma:
Pn(x) = a0 + a1 (x-x0) + a2 (x-x0) (x-x1) + . . . + an (x-x0) (x-x1) . . . (x-xn-1),
f ( x1 ) f ( x0 )
= f [ x0 , x1 ]
x1 x0
... En general:
ak = f [ x0 ,..., xk ] =
f [ x1 ,..., xk ] f [ x0 ,..., xk 1 ]
xk x0
para k = 0, . . . , n.
4.2.3
f(x)
x0
f [x0]
f [ x0 , x1 ] =
x1
f [ x1 ] f [ x0 ]
x1 x0
f [ x 0 , x1 , x 2 ] =
f [x1]
f [ x 2 ] f [ x1 ]
f [ x1 , x 2 ] =
x 2 x1
x2
f [ x1 , x 2 , x 3 ] =
f [x2]
f [x 2 , x 3 ] =
x3
f [ x1 , x 2 ] f [ x 0 , x1 ]
x2 x0
f [ x 0 , x1 , x 2 , x 3 ] =
f [ x1 , x 2 , x 3 ] f [ x 0 , x1 , x 2 ]
x3 x0
f [ x 2 , x 3 ] f [ x1 , x 2 ]
x 3 x1
f [x 3 ] f [x 2 ]
x3 x 2
f [x3]
Polinomios oscilantes
Puede ajustarse un polinomio no slo a valores funcionales, sino tambin a valores de sus
derivadas.
Los polinomios de Taylor, Lagrange y Hermite son casos particulares de polinomios
oscilantes.
Definicin
Sean x0, x1, . . . , xn , n+1 nmeros distintos de un intervalo [a,b] y m0, . . . , mn, enteros no
negativos. Sea f una funcin de clase Cm([a,b]) con m = mx(m0, . . . , mn). El polinomio
oscilante que aproxima la funcin f es el polinomio de menor grado que coincide con f y con
sus derivadas de orden menor o igual que mi en cada xi.
Unidad Docente de Matemticas de la ETSITGC
Asignatura: INFERENCIA ESTADSTICA y CLCULO NUMRICO APLICADOS A LA INGENIERA
Casos particulares:
El polinomio de Taylor de grado m es el polinomio oscilante en el caso n = 0, m0 = m
El polinomio de Lagrange se corresponde con
El polinomio de Hermite se obtiene para
4.3.2
mi = 0, i = 0, . . . , n.
mi = 1, i = 0, . . . , n.
Sean x0, x1, . . . , xn , n+1 nmeros distintos de un intervalo [a,b] y sea f una funcin de clase
C1([a,b]) . Entonces, existe un nico polinomio de grado a lo sumo 2n+1, y se denota
H2n+1(x), tal que:
H2n+1 (xi) = f(xi),
i = 0, . . . , n.
1.- Dados n+1 nodos distintos, el polinomio de Hermite es a lo sumo de grado 2n+1 ya que se
imponen 2n+1 condiciones (dos para cada nodo).
2.- El polinomio de Hermite coincide con f en los puntos x0, . . . , xn; adems, como su
primera derivada en esos puntos coincide con la primera derivada de f en ellos, las tangentes
al polinomio en esos puntos son las mismas que las de la funcin, y el polinomio tendr
entonces la misma forma que la funcin f en los puntos (xi, f(xi)).
4.3.3
Dados x0, x1, . . . , xn, junto con los valores de f y f en esos nmeros, se define una nueva
sucesin z0, z1, . . . , z2n de la siguiente forma:
z2i = z2i+1 = xi para cada i = 0,. . ., n;
Unidad Docente de Matemticas de la ETSITGC
Asignatura: INFERENCIA ESTADSTICA y CLCULO NUMRICO APLICADOS A LA INGENIERA
f(z)
Z0 = x0
f [z0] = f(x0)
f [z1] = f(x0)
Z2 = x1
f [z2] = f(x1)
Z3 = x1
...
f [z3] = f(x1)
...
f [z2, z3, z4]
...
f [z4] = f(x2)
...
...
...
...
2 n +1
H 2 n +1 ( x ) = f [ z 0 ] + f [ z 0 ,..., z k ]( x z 0 )( x z1 )...( x z k 1 ).
k =1
Dados n+1 puntos (x0, y0), (x1, y1), . . . , (xn, yn) tales que x0 < x1 < . . .< xn (nodos), un spline
de grado k es una funcin S (x) cuya grfica pase por estos puntos de forma que:
a) en cada intervalo [xi-1, xi], S es un polinomio de grado k,
b) S tiene derivada de orden k-1 continua en [x0, xn], es decir, S es de clase Ck-1([x0, xn]).
Los splines de grado cero son funciones constantes a trozos. Una forma explcita de presentar
un spline de grado cero es la siguiente:
c 0
c
S( x ) = 1
...
c n 1
x0
x1
x2
x [x 0 , x 1 ]
x [x 1 , x 2 ]
x [x n 1 , x n ]
x4
x3
Spline de grado k = 1:
Los splines de grado uno son funciones lineales a trozos que se unen de manera continua:
S 0 (x ) = a 0 x + b 0
S (x ) = a x + b
1
1
S( x ) = 1
...
S n 1 (x ) = a n 1 x + b n 1
x [x 0 , x 1 ]
x [x 1 , x 2 ]
x [x n 1 , x n ]
Por ser continua, los polinomios que la conforman se coinciden en los nodos, es decir,
ai xi+1 + bi = ai+1 xi+1 + bi+1, i = 0, 1, , n-1
x0
x1
x2
x3
x4
Spline de grado k:
En general, los splines de grado k son polinomios de grado menor o igual que k que se unen
de manera continua ellos y sus derivadas hasta el orden k-1.
4.4.2 Splines cbicos
Los splines ms utilizados son los splines cbicos. Son polinomios de grado menor o igual
que tres que se unen de manera continua ellos y sus derivadas de primero y segundo orden.
Dada la tabla de valores
x
x0
x1
...
xn
y0
y1
...
yn
se trata de construir un spline cbico para interpolar la tabla. Para ello hay que hallar los
coeficientes del polinomio cbico de cada subintervalo determinando simultneamente los
coeficientes en todos los subintervalos.
Si el spline viene expresado por:
S0 ( x ) = a03 x 3 + a02 x 2 + a01 x + a00
...
S ( x ) = a x3 + a x 2 + a x + a
i 1 3
i 1 2
i 1 1
i 1 0
i 1
S ( x) =
3
2
Si ( x ) = ai 3 x + ai 2 x + ai1 x + ai 0
...
Sn 1 ( x ) = an 1 3 x3 + an 1 2 x 2 + an 1 1 x + an 1 0
x [ x0 , x1 ]
x [ xi 1 , xi ]
x [ xi , xi +1 ]
x [ xn 1 , xn ]
Si 1 (x i ) = y i
y Si (x i ) = y i , i = 1, 2, , n-1
Para construir un spline cbico interpolante a la funcin f en los nodos x0 < x1 < . . .< xn,
conviene expresar los polinomios cbicos de la forma:
Sj(x) = aj + bj(x-xj) + cj(x- xj)2 + dj(x- xj)3
j = 0, 1, 2, . . . , n-1,
ya que de esta forma el sistema de ecuaciones que resulta de imponer las condiciones de la
definicin es ms fcil de resolver.
10
Cuando se conocen las derivadas segundas en los puntos inicial y final, o bien, se toman:
S ' ' (x 0 ) = S' ' (x n ) = 0 .
Nos da el resultado ms suave posible, en el sentido de curvatura mnima. Hacia los
extremos del intervalo de interpolacin, la curva se convierte en una recta.
4) Un caso particular del spline natural: cuando se calculan las derivadas segundas en
los extremos interpolando el valor que toman en los dos nodos ms prximos, es decir,
haciendo:
h
h
S(x0) = 1 + 0 S' ' (x1 ) 0 S' ' (x 2 )
h1
h1
h
S(xn) = 1 + n 1
h n 2
h
S' ' (x n 1 ) n 1 S' ' (x n 2 )
h n 2
Sean x e y los vectores que contienen respectivamente las abscisas y las ordenadas de los
puntos a interpolar.
1) Spline no nodo:
ps = spline (x, y) (genera un registro llamado polinomio segmentario que, entre otros
campos, consta de uno que contiene los coeficientes de todos los polinomios del spline
en una matriz de dimensiones n x 4, ps.coefs).
La evaluacin del spline en puntos concretos se efecta con ppval, que es el anlogo
de polyval para polinomios: ppval (spline (x, y), xi).
Si slo interesan los valores que tome el spline en ciertos puntos xi, se utiliza la misma
funcin en la forma: yi = spline (x, y, xi).
La funcin mkpp forma el polinomio segmentario a partir de los nodos y de la matriz
de coeficientes, para poder aplicar ppval, por ejemplo. Su sintaxis es: ps = mkpp(x, s),
siendo s la matriz que contiene los coeficientes del spline.
Unidad Docente de Matemticas de la ETSITGC
Asignatura: INFERENCIA ESTADSTICA y CLCULO NUMRICO APLICADOS A LA INGENIERA
11
2) Spline completo:
Se calcula con la misma funcin que se utiliza para el spline no nodo, aadiendo al
vector y dos valores, uno al principio y otro al final, que son los valores de la
derivada primera del spline en los puntos inicial y final, a=S(x0) y b=S(xn),
respectivamente. Sintaxis: spline (x, [a y b]).
3) El clculo de los coeficientes del spline cbico natural, se realiza en dos pasos:
3.1.- Primero se resuelve un sistema tridiagonal de n-1 ecuaciones con n-1 incgnitas,
que son las derivadas segundas del spline en los nodos, S(xi) = ri,, i = 1, , n-1.
h 0 + h1
3
h1
6
...
0
h1
6
h1 + h 2
3
h2
6
...
h2
6
h2 + h3
3
...
h3
6
...
...
...
...
...
h n 3
6
...
h n 3 + h n 2
3
h n 2
6
siendo h i = x i +1 x i , e i =
e1 e 0 0 r0
0
e 2 e1
r1
r
e
e
3
2
0
2 =
...
...
...
e n 2 e n 3
h n 2
rn 1
6
e e h n 1 r
n 1
n 2
n
h n 2 + h n 1
6
y i +1 y i
, i = 0, , n-1.
x i +1 x i
3.2.- A continuacin se hallan los coeficientes del spline a partir de las derivadas
r
ri +1 ri
y yi ri +1 ri
, b i = i , c i = i +1
+ h i , d i = y i .
hi
6h i
2
6 3
12
4) Para el caso particular del spline natural con S(x0) y S(xn) calculadas tal como se
Sean x e y los vectores que contienen respectivamente las abscisas y las ordenadas de los
puntos a interpolar.
1) polyfit (x, y, n), polinomio de interpolacin de grado n que se ajusta a n+1 nodos
dados.
2) yi = interp1 (x, y, xi), para interpolacin con un spline lineal (aplica interpolacin
natural) o pchip.
13