Вы находитесь на странице: 1из 15

Métodos numéricos

4. Interpolación polinomial
En muchos casos de experimentación o de análisis de datos, se tienen
mediciones, mediciones que de antemano no tienen o siguen una tendencia
definida, aún más, se desconoce la función que la rige. Ejemplos de esto
pueden ser: medir la temperatura a lo largo de un dı́a en intervalos de una
hora, medir la evolución de los precios a lo largo de los meses, medir el tiempo
de enfriamiento de un material expuesto a distintas condiciones, etc. Todos
estos casos de experimentación tienen el objetivo de conocer, investigar y en
muchos casos inferir nuevos valores, pues se pretende buscar un modelo que
permita conocer o aproximar una función que describa el comportamiento de
los distintos fenómenos, con el fin de evitar una experimentación “infinita”,
pues dependiendo los casos de estudios puede llegar a ser muy costosa.
Bajo este escenario, la mejor forma de determinar una posible función
que describa el comportamiento de datos experimentales, es a través de los
llamdos métodos de interpolación polinomial. Estos métodos tienen la idea
básica de buscar un polinómio P (x) que aproxime el comportamiento de los
distintos datos (puntos).
Y

Figura 2: Gráfico

4.1. Marco teórico


Dados n+1 puntos en el plano3 , el polinomio interpolador es el único poli-
nomio de grado menor o igual a n que pasa por dichos puntos. Son varios los
métodos que se pueden utilizar para construir un polinomio de interpolación:

Método de Lagrange.

Método de Newton.
3
sin que haya dos en la misma recta vertical

17 pℵ m
Métodos numéricos

Método de spline.

4.2. Interpolación de Lagrange


Interpolar significa estimar el valor desconocido de una función en un
punto, tomando una medida ponderada de sus valores conocidos en puntos
cercanos al dado.
El matemático francés Joseph Louis Lagrange dedujo una fórmula para
determinar la función (polinomio de grado N) que interpola N + 1 puntos.

Teorema 4 (Polinomio interpolador de Lagrange). Supongamos que f ∈


C N +1 [a, b] y que x0 , x1 , . . . , xN ∈ [a, b] son N + 1 nodos de interpolación. Si
x ∈ [a, b], entonces

f (x) = PN (x) + EN (x) (8)


donde
N
!
PN (x) = f (xk )LN,k (x), (9)
k=0
con "N
j=0,j̸=k (x − xj )
LN,k (x) = "N (10)
j=0,j̸=k (xk − xj )
y
(x − x0 )(x − x1 ) . . . (x − xN )f N +1 (c)
EN (x) = (11)
(N + 1)!
para algún valor c = c(x) del intervalo [a, b]

4.2.1. Ejemplo
En base a los datos mostrados en la cuadro 1 , determinar un polinomio
que los interpole.

X Y
0 1
0.6 0.8253
1.2 0.3623
Cuadro 1: Datos para contruir un polinonio interpolador.

Dado que tenemos 3 puntos a interpolar, el máximo polinomio interpo-


lador que podemos determinar es de grado 2.
Utilizando el teorema 4, determinemos el polinomio interpolador de La-
grange, para ello, utilicemos las igualdades (9) y (10). Entonces,

18 pℵ m
Métodos numéricos

2
!
P2 (x) = f (xk )L2,k (x)
k=0
= f (x0 )L2,0 (x) + f (x1 )L2,1 (x) + f (x2 )L2,2 (x)
= 1 × L2,0 (x) + 0,8253 × L2,1 (x) + 0,3623 × L2,2 (x)
# $ # $
(x − 0,6)(x − 1,2) (x − 0)(x − 1,2)
= 1× + 0,8253 ×
(0 − 0,6)(0 − 1,2) (0,6 − 0)(0,6 − 1,2)
# $
(x − 0)(x − 0,6)
+0,3623 ×
(1,2 − 0)(1,2 − 0,6)
= 1,38(x − 0,6)(x − 1,2) + 2,29(x − 0)(x − 1,2) + 0,50(x − 0)(x − 0,6).

4.2.2. Código Matlab


El siguiente programa determina el polinimio interpolador cuya gráfica
pasa por un conjunto de puntos dados, obteniendo como resultado un vector
cuyas componentes son los coeficientes del polinomio interpolador de La-
grange.

function [C,L]= lagrange(x,y)

w = length(x);
n = w-1;
L = zeros(w,w);

for k=1:n+1

V = 1;

for j = 1:n+1
if k ~= j
V = conv(V,poly(x(j)))/(x(k)-x(j));
end
end

L(k,:) = V;
end

C = y;

C = C .* L;

Observaciones:
La instrucción poly produce un vector cuyas componentes son los coefi-
cientes de un polinomio del que se especifican las raices.

19 pℵ m
Métodos numéricos

La instrucción conv proporciona un vector cuyas componentes son los


coeficientes de un polinomio que es el producto de otros dos dados.

4.2.3. Tareas
1. Determine en los siguientes casos, el polinomio interpolador de La-
grange par aproximar la función f (x) = x3

a) El polinimio cuadrático P2 (x) para los nodos x0 = −1, x1 = 0 y


x2 = 1.
b) El polinimio cúbico P3 (x) para los nodos x0 = −1, x1 = 0, x2 = 1
y x3 = 2.

2. Modificar el código dado para que realice el gráfico de los nodos (pun-
tos) y el polinomio interpolador.

3. Cree su propio código.

4. En el cuadro 2 se muestran temperaturas que fueron medidas cada


hora, durante un lapso total de 5 horas.

H T
13 18
14 18
15 17
16 16
17 15
18 14
Cuadro 2: Datos de la temperatura medida durante 5 horas.

a) Construir el polinimio interpolador de Lagrange correspondiente


a los datos del cuadro 2.
b) Estimar la temperatura media durante el perı́odo de 5 horas dado.
c) Dibuje los datos del cuadro 2 y el polinomio interpolador encon-
trado, en el mismo gráfico. Discuta el error que puede aparecer al
usar dicho polinimio para estimar la temperatura media.

20 pℵ m
Métodos numéricos

4.3. Interpolación de Newton


La interpolación de Newton, a diferencia de la de Lagrange, permite cal-
cular polinomios de un grado elevado n ≥ 3 con mayor facilidad, tanto de
manera analı́tica como numérica (computacional). Esto en la práctica es de
gran utilidad, pues dependiendo de la distribución (dispersión) de los datos
que se pretenda interpolar (buscar un polinomio que pasa por todos ellos o
lo más cerca posible), el polinomio interpolador deberá ser más elevado.
Teorema 5 (Polinomio interpolador de Newton). Supongamos que x0 , x1 , . . . , xN
son N + 1 números distintos en [a, b]. Entonces, existe un único polinimio
PN (x) de grado menor o igual a N tal que:

f (x) = PN (x) + EN (x), (12)

donde el polinomio interpolador PN (x) tiene la forma

PN (x) = a0 +a1 (x−x0 )+. . .+aN (x−x0 )(x−x1 )(x−x2 ) · · · (x−xN −1 ), (13)

siendo ak = f [x0 , x1 , . . . , xN ] y
(x − x0 )(x − x1 ) · · · (x − xN )f N +1 (c)
EN (x) = (14)
(N + 1)!
con c ∈ [a, b].
Observación: Al término f [x0 , x1 , . . . , xN ] se le conoce como las diferen-
cias divididas de f (x).
Definición 2 (Diferencias divididas). Las diferencias divididas de una fun-
ción f (x) se definen como:

f [xk ] = f (xk ),
f [xk ] − f [xk−1 ]
f [xk−1 , xk ] = ,
xk − xk−1
f [xk−1 , xk ] − f [xk−2 , xk−1 ]
f [xk−2 , xk−1 , xk ] = ,
xk − xk−2
f [xk−2 , xk−1 , xk ] − f [xk−3 , xk−2 , xk−1 ]
f [xk−3 , xk−2 , xk−1 , xk ] = ,
xk − xk−3
.. .. ..
. . .
f [xk−j+1, . . . , xk ] − f [xk−j , . . . , xk−1 ]
f [xk−j , xk−j+1, . . . , xk ] =
xk − xk−j

4.3.1. Ejemplo
Sea f (x) = x3 − 4x y los nodos x0 = 1, x1 = 2, ..., x5 = 6. Se busca
determinar los polinomios interpoladores de Newton P1 (x), P2 (x) y P3 (x),
para los nodos indicados.

21 pℵ m
Métodos numéricos

Desarrollo
En primer lugar, establezcamos explı́citamente los polinomios que debe-
mos determinar, basándonos en la ecuación (13), estos son:

P1 (x) = a0 + a1 (x − x0 )
P2 (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 )
P3 (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + a3 (x − x0 )(x − x1 )(x − x2 ).

Como se puede observar, para determinar los polinomios interpoladores, dado


que se conocen los nodos, basta con determinar los coeficientes a1 , a2 y a3 . Los
coeficientes señalados, se los determina a través de las “diferencias divididas”
de la función, de tal forma que: a0 = f [x0 ], a1 = f [x0 , x1 ], a2 = f [x0 , x1 , x2 ]
y a3 = f [x0 , x1 , x2 , x3 ].

xk f [xk ] f [xk−1 , xk ] f [xk−2 , xk−1 , xk ] f [xk−3 , xk−2 , xk−1 , xk ]


x0 = 1 -3
x1 = 2 0 3
x2 = 3 15 15 6
x3 = 4 48 33 9 1.

En base a la tabla mostrada, se tiene que: a0 = −3, a1 = 3, a2 = 6 y


a3 = 1. Con los resultados obtenidos, se puden escribir, explı́citamente, los
polinomios solicitados.

P1 (x) = −3 + 3(x − 1)
P2 (x) = −3 + 3(x − 1) + 6(x − 1)(x − 2)
P3 (x) = −3 + 3(x − 1) + 6(x − 1)(x − 2) + 1(x − 1)(x − 2)(x − 3).

4.3.2. Código Matlab


El siguiente programa determina los coeficientes, a través del método de
diferencias dividas, del polinomio interpolador de Newton de grado menor o
igual a N que pasa por los puntos (xk , yk ) = (xk ), f (xk ) para k = 0, 1, . . . , N.

function [C,D]= newtonpoly(x,y)

% Entrada: x y y vectores
% Salida: C coeficientes del polinomio de Newton,
% D tabla de diferencias divididas

n = length(x);
D = zeros(n,n);
D(:,1) = Y’;

for j=2:n
for k=j:n

22 pℵ m
Métodos numéricos

D(k,j) = (D(k,j-1)-D(k-1,j-1))/(x(k)-x(k-j+1));
end
end

C = D(n,n);

for k=n-1:-1:1
C = conv(C,poly(x(k)));
m = length(C);
C(m) = C(m) + D(k,k);
end

Observaciones:
La instrucción poly produce un vector cuyas componentes son los coefi-
cientes de un polinomio del que se especifican las raices.
La instrucción conv proporciona un vector cuyas componentes son los
coeficientes de un polinomio que es el producto de otros dos dados.

4.3.3. Tareas
1. En base a las funciones y datos que se muestran a la cuadro 3, realizar:

a) Calcular la tabla de diferencias divididas para las funciones y datos


datos.
b) Escribir los polinomios interpoladores de Newton P1 , P2 , P3 y P4 .
c) Calcular los valores de los polinomios hallados, en el apartado
anterior, para los valores de x dados.
d ) Compare los valores obtenidos, con los valores exactos.

f (x) = x1/2 f (x) = 3(sin(πx/6))2


x = 4,5; 7,5 x = 1,5; 3,5

k xk f (xk ) k xk f (xk )
0 4 2 0 0 0
1 5 2.23 1 1 0.75
2 6 2.44 2 2 2.25
3 7 2.64 3 3 3.00
4 8 2.82 4 4 2.25

Cuadro 3: Funciones para ser analizadas

2. Considere M + 1 puntos (x0 , y0 ), . . . , (xM , yM ).

23 pℵ m
Métodos numéricos

a) Pruebe que si las (N + 1)-ésimas diferencias divididas son cero,


entonces todas las siguientes hasta la M-ésima son también cero.
b) Pruebe que si las (N + 1)-ésimas diferencias divididas son cero,
entonces existe un polinomio PN (x) de grado N tal que

PN (xk ) = yk parak = 0, 1, . . . , M.

3. En el código dado, sección anterior, la matriz D se emplea para alma-


cenar la tabla de diferencias divididas:

a) Compruebe4 que la siguiente modificación, del código dado, es


una forma equivalente de calcular el polinomio interpolador de
Newton.
for k=0:N
A(k) = y(k);
end

for j=1:N
for k=N:-1:j
A(k) = (A(k)-A(k-1))/(x(k)-x(k-j));
end
end

b) Repita el ejercicio 1 e indique las diferencias

4
Por comprobar se entiende al hecho de demostrar razonada y justificadamente las
afirmaciones o negaciondes realizadas.

24 pℵ m
Métodos numéricos

4.4. Interpolación spline


Cuando se dispone de una gran cantidad de datos relativos a una fun-
ción, conocida o no, que se desea aproximar, las técnicas de interpolación
polinómica (Lagrange - Newton) dan lugar, generalmente, a interpolantes
que presentan grandes oscilaciones. Ello hace que un polinomio pueda coin-
cidir con una función en muchos puntos y que, aunque dos de ellos estén muy
próximos, el valor del polinomio, entre dos puntos consecutivos, diste mucho
del de la función. Incluso es posible que la distancia tienda al infinito cuando
el grado del polinomio crece (polinomios de orden 5, 6, ...). La interpolación
spline desempeña un papel fundamental en el tratamiento de este tipo de
problemas.
La palabra inglesa spline define una regla flexible sujeta a dos puntos,
utilizada en dibujo técnico para pintar curvas suaves pasando por puntos es-
pecificados. Estas condiciones de suavidad y adaptabilidad son las que hacen
que las funciones polinomiales a trozos que se estudiaran adoptaran esta nom-
bre. Por lo tanto, una función spline o un spline será un polinomio a trozos
de grado definido y con ciertas propiedades de regularidad (derivabilidad).

4.4.1. Marco teórico


Formalmente, las funciones spline se pueden definir de la siguiente man-
era:
Definición 3 (Spline). Sea Γ = a = x0 < x1 < . . . < xn = b una partición
del intervalo [a, b], de tal forma que
sΓ : [a, b] −→ R
es una función spline de orden m ∈ N sobre Γ si se verifican las siguientes
condiciones:
1. sΓ es un polinomio a trozos de grado m


⎪ s1m (x), x ∈ [x0 , x1 [
⎨ s2 (x), x ∈ [x1 , x2 [

m
sΓ = .. ..

⎪ . .
⎩ sn (x), x ∈ [x , x [

m n−1 n

2. sΓ ∈ C m−1 ([a, b]). Esto indica que la función y sus (m − 1) primeras


derivadas son continuas en el intervalo [a, b] o, expresado en otros
términos, la función debe ser continua en los nodos interiores, es decir,
se debe cumplir que:

sΓ (x− i ) = sΓ (x+ i ), ∀i = 1, . . . , n − 1
s′Γ (x− i ) = s′Γ (x+ i ), ∀i = 1, . . . , n − 1
.. .. .. ..
. . . .
sm−1
Γ (x− m−1 +
i ) = sΓ (xi ), ∀i = 1, . . . , n − 1

25 pℵ m
Métodos numéricos

Observación
Si llamanos sm Γ al conjunto de splines de orden m definidos sobre la par-
tición Γ del intervalo [a, b], se puede demostrar que tiene una estructura de
espacio vectorial con las operaciones usuales de suma de funciones y producto
por escalares.
En lo que sigue, nos centraremos en la interpolación spline lineal y cuadrática,
aunque desarrollaremos con mayor detalle la lineal.

4.4.2. Interpolación con splines de grado uno


Las funciones spline de grado 1 son funciones lineales a trozos y continuas.
Graficamente se representan por poligonales, (véase figura 15).
Y

X
a b
Figura 3: Gráfico de la poligonal

Obsérvese que la poligonal mostrada es una función continua en el inter-


valo [a, b], y que al restringirla al intervalo [xi , xi+1 ], 0 ≤ i ≤ n − 1, es un
polinomio de grado menor o igual a uno; además, estas dos propiedades se
mantienen cuando se suman poligonales o se multiplican por escalares.
Por lo indicado, las funciones cuyas gráficas son las poligonales asociadas
a la partición anterior constituyen un espacio vectorial. Este espacio vectorial
es el de las funciones spline de grado uno y nodos x0 , . . . , xn .
Se observa de inmediato que si en los nodos x0 , . . . , xn se conocen los
valores de y0 , . . . , yn que toma cierta función y se desea construir una polig-
onal que pasa por ellos, el problema tiene solución y es única. Su gráfica
estará conformada por los segmentos que unen los puntos resultantes, de tal
forma que el punto (x0 , y0 ) se una con el punto (x1 , y1 ), el punto (x1 , y1) con
el (x2 , y2), etc., y su expresión analı́tica, si (x), en el subintervalo [xi , xi+1 [,
0 ≤ i ≤ n − 1, es
yi+1 − yi
si (x) = yi + (x − xi ), x ∈ [xi , xi+1 [, (15)
xi+1 − xi
de tal forma que el primer subintervalo sea de la forma [a, x1 ] y el último
subintervalo sea de la forma [xn−1 , b].

26 pℵ m
Métodos numéricos

4.4.3. Ejemplo
En una aplicación gráfica se quiere derivar la fórmula que implementa
un prototipo gráfico en el intervalo [−1, 1], pasando por los puntos (−1, 0)
y (1, 0) con una altura variable h en 0. Dicha curva está definida por una
función continua que adopta la forma de polı́gonos de grado 1 en los subin-
tervalos dados. Dar la expresión de dichos patrones.

Desarrollo
La función pedida, s(x), es una spline de grado 1 en [−1, 1], asociada a
la partición Γ = {x0 = −1, x1 = 0, x2 = 1}. Utilizando la ecuación (15),
tendremos que la función pedida es:
)
s0 (x), x ∈ [−1, 0[
s(x) =
s1 (x), x ∈ [0, 1],

donde
y1 − y0
s0 (x) = y0 + (x − x0 ), x ∈ [x0 , x1 [
x1 − x0
h−0
= 0+ (x − (−1))
0 − (−1)
= h(x + 1)

y
y2 − y1
s1 (x) = y1 + (x − x1 ), x ∈ [x1 , x2 [
x2 − x1
0−h
= h+ (x − 0)
1−0
= h(1 − x).

En resumen )
h(x + 1), x ∈ [−1, 0[
s(x) =
h(1 − x), x ∈ [0, 1],

4.4.4. Código Matlab


El siguiente algoritmo recibe un número arbitrario de pares de datos en
la forma de una matriz de 2*n, donde las abcisas se encuentran en la primera
fila (o renglón) y las ordenadas en la segunda fila de la matriz, e interpola los
puntos dados por medio de poligonales (“splines” de orden 1) devolviendo
los vectores m y b de los coeficientes de las rectas que interpolan a los datos
y además entrega su gráfica:

27 pℵ m
Métodos numéricos

function [m,b]=spline(X)

n=length(X(1,:));

for i=1:n-1;
m(i)=(X(2,i+1)-X(2,i))/(X(1,i+1)-X(1,i));
b(i)=X(2,i);
x=X(1,i):X(1,i+1);
y=m(i)*(x-X(1,i))+b(i);
hold on;
plot(x,y,’b’);
end

for i=1:n;
hold on;
plot (X(1,i),X(2,i),’*’,’MarkerEdgeColor’,’r’,’LineWidth’,1);
title(’Interpolación por "splines" de orden 1.’);
end

Por ejemplo, para los datos {(1, 0), (2, 3), (3, 4), (4, −6), (5, 2), (6, 4), (7, 0), (8, 4), (9, 3)},
se escribe en el Command Window:

X=[1 2 3 4 5 6 7 8 9; 0 3 4 -6 2 4 0 4 3];

[m,b]=spline(X).

Y el programa entrega los resultados:

m = 3 1 -10 8 2 -4 4 -1

b = 0 3 4 -6 2 4 0 4

4.4.5. Interpolación con splines de grado dos


Las funciones spline polinómicas de grado mayor que uno siguen una
filosofı́a 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 x0 , . . . , xn están con-
stituidos por parábolas a trozos, unidas entre sı́ no sólo con continuidad sino
también con tangente continua, de tal forma que son funciones de clase uno
en el intervalo [a, b].
En resumen, el problema de interpolación spline de grado 2 se puede
describir de la siguiente manera:

28 pℵ m
Métodos numéricos

Encontrar s ∈ P2
tal que s(xi ) = yi , 0≤i≤n
Si sk es el polinomio cuadrático que se obtiene al restringir sk ∈ P2 al
intervalo [xk , xk+1 ], k = 1, 2, . . . , n − 1, entonces

sk (x) = αk + βk (x − xk ) + γ(x − xk )2 , (16)

donde αk , βk y γk son constantes reales.

4.4.6. Ejemplo
Se desea modelar la cubierta de un edificio simétrico describiendo el perfil
de su sección con un spline de grado 2 (ver figura 4.4.6). Los datos de los que
se dispone son las alturas del edificio en varios puntos, según se indica en la
tabla

x 0 1 2
Altura y0 y1 y2

Figura 4: Perfil de un edificio

Desarrollo
Sea s(x) el spline pedido en el intervalo [0, 2] correspondiente a la partición
{0, 1, 2} y que interpola los datos que se muestran a continuación:

s(0) = y0
s(1) = y1
s(2) = y2

Nótese que además nos dan como información la simetrı́a de la cubierta;


especı́ficamente se sabe que

s(x) = s(−x), x ∈ [0, 2].

29 pℵ m
Métodos numéricos

De esta propiedad se deduce que:

s′ (0) = 0.

Ese último dato numérico, junto con los anteriores, nos va a permitir
calcular unı́vocamente el spline en función de los datos y0 , y1 e y2 .
Luego de este análisis se debe construir dos polinomios p y q, de grado
dos, en los intervalos [0, 1] y [1, 2], respectivamente:
)
p(x), x ∈ [0, 1]
s(x) =
q(x), x ∈ [1, 2],
de forma que s y s′ sean continuas, es decir, se cumpla que:

s(1− ) = s(1+ ) ⇔ p(1) = q(1)


s′ (1− ) = s′ (1+ ) ⇔ p′ (1) = q ′ (1)

y además verifiquen las condiciones de interpolación dadas:

1. s(0) = y0 ⇔ p(0) = y0

2. s(1) = y1 ⇔ p(1) = q(1) = y1 . Esta condición obliga a que automática-


mente haya continuidad en el punto 1.

3. s(2) = y2 ⇔ q(2) = y2

4. s′ (0) = 0 ⇔ p′ (0) = 0

Se trata entonces de construir p y q con todas las condiciones anterior-


mente referidas.
Cabe señalar que dependiendo de las expresiones generales que adopte-
mos para p y q, llegaremos a distintos métodos que implementan p y q. El
procedimiento que se va a seguir aquı́ es construir p y q utilizando en cada
caso y con los datos pertinentes la fórmula de Newton generalizada.
Empezemos construyendo s(x) en el intervalo [0, 1] con los datos numéri-
cos disponibles (s(0), s′ (0), s(1)) en ese intervalo. Para ello calculamos la tabla
de diferencias divididas

xk f [xk ] s[·, ·] s[·, ·, ·]


0 y0
0 y0 s′ (0) = 0
1 y1 y1 − y0 y1 − y0

Por tanto, utilizando la fórmula de Newton generalizada:

s(x) = y0 + (y1 − y0 )x2 si x ∈ [0, 1]. (17)

Repetimos el proceso, ahora en el intervalo [1, 2] con los datos disponibles


es ese intervalo (s(1), s(2)). Construimos la tabla de diferencias divididas:

30 pℵ m
Métodos numéricos

xk f [xk ] s[·, ·] s[·, ·, ·]


1 y1
1 y1 s′ (1)
2 y2 y2 − y1 y2 − y1 − s′ (1)
Por tanto, utilizando la fórmula de Newton generalizada, se obtiene que:
s(x) = y1 + s′ (1)(x − 1) + (y2 − y1 − s′ (1))(x − 1)2 si x ∈ [1, 2]. (18)
Otra caracterı́stica de los splines se refiere a la regularidad de la función; la
función y su derivada tienen que ser continuas en [0, 2]. Bajo el procedimiento
realizado, se tiene que:
1. s es automáticamente continua. En el procedimiento de construcción
seguido se ha impuesto en cada uno de los intervalos la condición s(1) =
y1 .
2. s′ es continua en (0, 2), esto es:
s′ (1+ ) = s′ (1− ) = 2(y1 − y0 ).

Sustituyendo este último valor en la expresión obtenida para s(x) cuando


x ∈ [1, 2], se concluye que:
)
y0 + (y1 − y0 )x2 , x ∈ [0, 1]
s(x) = 2
y1 + 2(y1 − y0 )(x − 1) + (y2 − 3y1 + 2y0)(x − 1) , x ∈ [1, 2],

4.4.7. Tareas
1. Construir un programa para la interpolación spline de grado 2.
2. Consultar y desarrollar una metodologı́a para las funciones spline cúbi-
cas.
3. Implementar un algoritmo para la interpolación spline cúbica.
4. Resolver:
a) Interpolar por splines de grado 1, 2 y 3 la función f (x) = x1
en tomando los puntos (0,1; 10), (0,2; 5), (0,5; 2), (1; 1), (2; 0,5),
(5; 0,2) y (10; 0,1).
b) Interpolar por splines cúbicos la función f (x) = x21+1 en el inter-
valo 0 ≤ x ≤ 1 tomando los seis puntos de las abcisas xk = k5 ,
k = 0, 1, 2, 3, 4, 5.
5. Se considera la función polinomial a trozos
)
x3 , x ∈ [0, 1[
r(x) = 3 2
0,5(x − 1) + a(x − 1) + b(x − 1) + c x ∈ [1, 3],

Determinar qué condiciones deben verificar los parámetros reales a, b


y c para que dicha función sea un spline cúbico sobre Γ = {0, 1, 3}.

31 pℵ m

Вам также может понравиться