7_Interpolacion.pdf

June 6, 2019 | Author: Darwin Alexander Sampedro | Category: Spline (Mathematics), Linearity, Numerical Analysis, Abstract Algebra, Mathematical Concepts
Share Embed Donate


Short Description

Download 7_Interpolacion.pdf...

Description

M´eto et o dos do s nu num´ m´eric er icos os

4.

Inte Interpo rpola laci ci´ ´ on on polinomial

En muchos casos de experimentaci´on o n o de an´alisis alisis de datos, se tienen mediciones, mediciones que de antemano no tienen o siguen una tendencia definida, a´ un u n m´as, as, se desconoce la funci´on o n que la rige. Ejemplos de esto pueden pueden ser: medir la temperatura temperatura a lo largo de un d´ıa en interv intervalos alos de una hora, medir la evoluci´on on 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´on on 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´on on que describa el comportamiento de los distintos fen´omenos, omenos, con el fin de evitar una experimentaci´on on “infinita”, pues dependiendo los casos de estudios puede llegar a ser muy costosa. Bajo este escenario, la mejor forma de determinar una posible funci´on que describa el comportamiento comp ortamiento de datos experimentales, experimentales, es a trav´es es de los llamdos llamdo s m´etodos etodo s de interpolaci´ interpol aci´on on polinomial. Estos m´etodos etodos tienen la idea b´asica asica de buscar un polin´omio P  omio  P ((x) que aproxime el comportamiento de los distintos datos (puntos). Y

X Figura 2: Gr´afico afico

4.1. 4.1.

Marco rco teorico o ´rico

Dados n Dados n+1 +1 pun puntos tos en el plano3 , el polinomio interpolador es el unico u ´ nico polinomio de grado menor o igual a n a  n que  que pasa por dichos puntos. Son varios los m´etodos etodos que se pueden utilizar para construir un polinomio de interpolaci´on: on: M´etodo eto do de Lagran Lag range. ge. M´etodo eto do de Newton. Newto n. 3

sin que haya dos en la misma recta vertical

17

pℵ m

M´etodos num´ericos M´etodo de spline.

4.2.

Interpolaci´ on de Lagrange

Interpolar significa estimar el valor desconocido de una funci´on en un punto, tomando una medida ponderada de sus valores conocidos en puntos cercanos al dado. El matem´atico franc´ es Joseph Louis Lagrange dedujo una f´ormula para determinar la funci´on (polinomio de grado N ) que interpola N  + 1 puntos. Teorema 4   (Polinomio interpolador de Lagrange).   Supongamos que  f  ∈ on. Si  C N +1 [a, b]   y que  x0 , x1 , . . . , xN  ∈ [a, b] son  N  + 1   nodos de interpolaci´  x ∈ [a, b], entonces 

f (x) =  P N (x) + E N (x) donde 

(8)



 f (x )L P  (x) =  (x L (x) =  (x N 

k

N,k (x),

(9)

k =0

con 

N,k



N   j =0,j ̸ =k N   j =0,j ̸ =k

k

− x j ) − x j )

(x − x0 )(x − x1 ) . . . (x − xN )f N +1 (c)   E N (x) = (N   + 1)!

(10)

(11)

para alg´  un 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´aximo polinomio interpolador que podemos determinar es de grado 2. Utilizando el teorema 4, determinemos el polinomio interpolador de Lagrange, para ello, utilicemos las igualdades (9) y (10). Entonces,

18

pℵ m

M´etodos num´ericos

2

P 2 (x) =

 f (x )L k

2,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´ odigo Matlab

El siguiente programa determina el polinimio interpolador cuya gr´afica pasa por un conjunto de puntos dados, obteniendo como resultado un vector cuyas componentes son los coeficientes del polinomio interpolador de Lagrange. 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´on  poly  produce un vector cuyas componentes son los coefi-

cientes de un polinomio del que se especifican las raices. 19

pℵ m

M´etodos num´ericos La instrucci´on   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 Lagrange par aproximar la funci´on f (x) =  x 3 atico P 2 (x) para los nodos x0 = −1, x1 = 0 y a ) El polinimio cuadr´ x2  = 1. b ) El polinimio c´ ubico P 3 (x) para los nodos x 0  = −1, x 1  = 0, x 2  = 1

y x3  = 2. 2. Modificar el c´odigo dado para que realice el gr´afico de los nodos (puntos) y el polinomio interpolador. 3. Cree su propio c´odigo. 4. En el cuadro 2 se muestran temperaturas que fueron medidas cada hora, durante un lapso total de 5 horas. H 13 14 15 16 17 18

T 18 18 17 16 15 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´afico. Discuta el error que puede aparecer al usar dicho polinimio para estimar la temperatura media.

20

pℵ m

M´etodos num´ericos

4.3.

Interpolaci´ on de Newton

La interpolaci´on de Newton, a diferencia de la de Lagrange, permite calcular polinomios de un grado elevado n ≥   3 con mayor facilidad, tanto de manera anal´ıtica como num´erica (computacional). Esto en la pr´actica es de gran utilidad, pues dependiendo de la distribuci´on (dispersi´on) de los datos que se pretenda interpolar (buscar un polinomio que pasa por todos ellos o lo m´as cerca posible), el polinomio interpolador deber´a ser m´as elevado. Teorema 5 (Polinomio interpolador de Newton).  Supongamos que  x0 , x1 , . . . , xN  son  N  + 1 n´  umeros distintos en  [a, b]. Entonces, existe un ´  unico polinimio P N (x)  de grado menor o igual a  N   tal que:

f (x) = P N (x) + E N (x),

 

(12)

donde el polinomio interpolador  P N (x)   tiene la forma 

P N (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)   E N (x) = (N   + 1)!

(14)

con  c ∈ [a, b]. Observaci´  on: Al t´ ermino f [x0 , x1 , . . . , xN ]  se le conoce como las diferencias divididas de  f (x). Definici´ on 2  (Diferencias divididas).  Las diferencias divididas de una funci´  on  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 , xk− j +1, . . . , xk ] = 4.3.1.

...

f [xk− j +1, . . . , xk ] − f [xk− j , . . . , xk−1 ] xk − xk− j

Ejemplo

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

21

pℵ m

M´etodos num´ericos Desarrollo

En primer lugar, establezcamos expl´ıcitamente los polinomios que debemos determinar, bas´andonos en la ecuaci´on (13), estos son: P 1 (x) = a0  + a1 (x − x0 ) P 2 (x) = a0  + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) P 3 (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˜nalados, se los determina a trav´es de las “diferencias divididas” de la funci´on, de tal forma que: a0 = f [x0 ], a1 = f [x0 , x1 ], a 2 = 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 ] -3 x0  = 1 3 0 x1  = 2 6 15 15 x2 = 3 1. 48 33 9 x3 = 4 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. P 1 (x) = −3 + 3(x − 1) P 2 (x) = −3 + 3(x − 1) + 6(x − 1)(x − 2) P 3 (x) = −3 + 3(x − 1) + 6(x − 1)(x − 2) + 1(x − 1)(x − 2)(x − 3). 4.3.2.

C´ odigo Matlab

El siguiente programa determina los coeficientes, a trav´es del m´etodo 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´etodos num´ericos 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´on  poly  produce un vector cuyas componentes son los coefi-

cientes de un polinomio del que se especifican las raices. La instrucci´on   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 P 1 , P 2 , P 3 y P 4 . 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) = x 1/2 x = 4,5; 7,5 k xk 0 4 1 5 2 6 3 7 4 8

f (x) = 3(sin(π x/6))2 x = 1,5; 3,5 k xk 0 0 1 1 2 2 3 3 4 4

f (xk ) 2 2.23 2.44 2.64 2.82

f (xk ) 0 0.75 2.25 3.00 2.25

Cuadro 3: Funciones para ser analizadas 2. Considere M   + 1 puntos (x0 , y0 ), . . . , (xM , yM ).

23

pℵ m

M´etodos num´ericos a ) Pruebe que si las (N   + 1)-´esimas diferencias divididas son cero,

entonces todas las siguientes hasta la M -´esima son tambi´en cero. b ) Pruebe que si las (N   + 1)-´esimas diferencias divididas son cero,

entonces existe un polinomio P N (x) de grado N  tal que P N (xk ) = y k   parak = 0, 1, . . . , M . 3. En el c´odigo dado, secci´on anterior, la matriz D se emplea para almacenar la tabla de diferencias divididas: a ) Compruebe4 que la siguiente modificaci´o n, del c´ odigo 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´etodos num´ericos

4.4.

Interpolaci´ on spline

Cuando se dispone de una gran cantidad de datos relativos a una funci´on, conocida o no, que se desea aproximar, las t´ ecnicas de interpolaci´on polin´ omica (Lagrange - Newton) dan lugar, generalmente, a interpolantes que presentan grandes oscilaciones. Ello hace que un polinomio pueda coincidir con una funci´on en muchos puntos y que, aunque dos de ellos est´en muy pr´oximos, el valor del polinomio, entre dos puntos consecutivos, diste mucho del de la funci´on. Incluso es posible que la distancia tienda al infinito cuando el grado del polinomio crece (polinomios de orden 5, 6, ...). La interpolaci´on spline desempe˜ na 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´ecnico para pintar curvas suaves pasando por puntos especificados. Estas condiciones de suavidad y adaptabilidad son las que hacen que las funciones polinomiales a trozos que se estudiaran adoptaran esta nomon spline  o un  spline  ser´ bre. Por lo tanto, una  funci´ a un polinomio a trozos de grado definido y con ciertas propiedades de regularidad (derivabilidad). 4.4.1.

Marco te´ orico

Formalmente, las funciones spline se pueden definir de la siguiente manera: Definici´ on 3   (Spline). Sea  Γ = a = x 0  < x1  < .. . < xn  = b   una partici´  on  del intervalo [a, b], de tal forma que 

sΓ  : [a, b] −→ R es una funci´  on spline de orden  m ∈ condiciones:

N   sobre  Γ   si

se verifican las siguientes 

1. sΓ  es un polinomio a trozos de grado m

 s (x),  s (x), s  =  1

m 2

m

Γ

.. .

x ∈ [x0 , x1 [ x ∈ [x1 , x2 [ ...

snm (x), x ∈ [xn−1 , xn [

2. sΓ ∈ C m−1 ([a, b]). Esto indica que la funci´  on y sus  (m − 1)   primeras  derivadas son continuas en el intervalo [a, b]   o, expresado en otros  t´ erminos, la funci´  on debe ser continua en los nodos interiores, es decir, se debe cumplir que:

sΓ (x− i ) ′ sΓ (x− i ) .. .

= = ...

sΓ (x+ i ), ′ sΓ (x+ i ), ...

∀i = 1, . . . , n − 1 ∀i = 1, . . . , n − 1

...

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

25

pℵ m

M´etodos num´ericos Observaci´ on

Si llamanos sm  al conjunto de splines de orden m definidos sobre la parΓ tici´on Γ  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´on spline lineal y cuadr´atica, aunque desarrollaremos con mayor detalle la lineal. 4.4.2.

Interpolaci´ on con splines de grado uno

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

a

b

X

Figura 3: Gr´afico de la poligonal Obs´ervese que la poligonal mostrada es una funci´ on continua en el intervalo [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´as, estas dos propiedades se mantienen cuando se suman poligonales o se multiplican por escalares. Por lo indicado, las funciones cuyas gr´aficas son las poligonales asociadas a la partici´on anterior constituyen un espacio vectorial. Este espacio vectorial es el de las funciones spline de grado uno y nodos  x 0 , . . . , xn . Se observa de inmediato que si en los nodos x0 , . . . , xn   se conocen los valores de y 0 , . . . , yn  que toma cierta funci´on y se desea construir una poligonal que pasa por ellos, el problema tiene soluci´o n y es ´unica. Su gr´afica estar´a 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´on anal´ıtica, si (x), en el subintervalo [xi , xi+1 [, 0 ≤ i ≤ n − 1, es si (x) = y i  +

yi+1 − yi (x − xi ), xi+1 − xi

x ∈ [xi , xi+1 [,

 

(15)

de tal forma que el primer subintervalo sea de la forma [ a, x1 ] y el ´ultimo subintervalo sea de la forma [xn−1 , b].

26

pℵ m

M´etodos num´ericos 4.4.3.

Ejemplo

En una aplicaci´o n gr´afica se quiere derivar la f´ormula que implementa un prototipo gr´afico en el intervalo [ −1, 1], pasando por los puntos (−1, 0) y (1, 0) con una altura variable h  en 0. Dicha curva est´a definida por una funci´ on continua que adopta la forma de pol´ıgonos de grado 1 en los subintervalos dados. Dar la expresi´on de dichos patrones. Desarrollo

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

 s (x),

x ∈ [−1, 0[ s1 (x), x ∈ [0, 1], 0

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

s0 (x) = y0  +

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

s1 (x) = y1  +

En resumen s(x) = 4.4.4.

x ∈ [x1 , x2 [

 h(x + 1),

x ∈ [−1, 0[ h(1 − x), x ∈ [0, 1],

C´ odigo Matlab

El siguiente algoritmo recibe un n´umero 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´on) 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´as entrega su gr´afica:

27

pℵ m

M´etodos num´ericos

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´ o 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 b =

1 -10 0

4.4.5.

3

4

8 -6

2 2

-4 4 0

4

-1 4

Interpolaci´ on con splines de grado dos

Las funciones spline polin´omicas de grado mayor que uno siguen una filosof´ıa id´entica a las de grado uno, s´olo que al aumentar el grado se puede conseguir mayor regularidad global, sin que cambie mucho la dimensi´on del espacio vectorial. As´ı los splines cuadr´aticos con nodos x 0 , . . . , xn  est´an constituidos por par´ abolas a trozos, unidas entre s´ı no s´olo con continuidad sino tambi´en con tangente continua, de tal forma que son funciones de clase uno en el intervalo [a, b]. En resumen, el problema de interpolaci´o n spline de grado 2 se puede describir de la siguiente manera: 28

pℵ m

M´etodos num´ericos

Encontrar s ∈ P 2 tal que s(xi ) =  y i ,

0≤i≤n

Si sk  es el polinomio cuadr´atico que se obtiene al restringir sk ∈ P 2 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´etrico describiendo el perfil de su secci´on 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´un se indica en la tabla x 0 Altura y0

1 y1

2 y2

Figura 4: Perfil de un edificio Desarrollo

Sea s(x) el spline pedido en el intervalo [0, 2] correspondiente a la partici´on {0, 1, 2}  y que interpola los datos que se muestran a continuaci´on: s(0) = y0 s(1) = y1 s(2) = y2 N´otese que adem´as nos dan como informaci´on la simetr´ıa de la cubierta; espec´ıficamente se sabe que s(x) = s(−x), 29

x ∈ [0, 2]. pℵ m

M´etodos num´ericos De esta propiedad se deduce que: s′ (0) = 0. Ese u ´ ltimo dato num´erico, junto con los anteriores, nos va a permitir calcular un´ıvocamente el spline en funci´on de los datos y 0 , y1 e y 2 . Luego de este an´alisis se debe construir dos polinomios p y q , de grado dos, en los intervalos [0, 1] y [1, 2], respectivamente: s(x) =

 p(x),

x ∈ [0, 1] 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´as verifiquen las condiciones de interpolaci´on dadas: 1. s(0) = y 0 ⇔  p(0) = y 0 2. s(1) = y 1 ⇔  p(1) = q (1) = y 1 . Esta condici´on obliga a que autom´aticamente haya continuidad en el punto 1. 3. s(2) = y 2 ⇔  q (2) = y 2 4. s′ (0) = 0 ⇔  p ′ (0) = 0 Se trata entonces de construir p y q  con todas las condiciones anteriormente referidas. Cabe se˜nalar que dependiendo de las expresiones generales que adoptemos para p y q , llegaremos a distintos m´etodos 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´ormula de Newton generalizada. Empezemos construyendo s(x) en el intervalo [0, 1] con los datos num´ericos disponibles (s(0), s′ (0), s(1)) en ese intervalo. Para ello calculamos la tabla de diferencias divididas xk 0 0 1

f [xk ] s[·, ·] s[·, ·, ·] y0 y0 s′ (0) = 0 y1 y1 − y0 y1 − y0

Por tanto, utilizando la f´ormula de Newton generalizada: s(x) = y 0  + (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´etodos num´ericos xk 1 1 2

f [xk ] s[·, ·] y1 y1 s′ (1) y2 y2 − y1

s[·, ·, ·]

y2 − y1 − s′ (1)

Por tanto, utilizando la f´ormula de Newton generalizada, se obtiene que: s(x) =  y 1 + 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´on; la funci´ on y su derivada tienen que ser continuas en [0, 2]. Bajo el procedimiento realizado, se tiene que: 1. s   es autom´aticamente continua. En el procedimiento de construcci´on seguido se ha impuesto en cada uno de los intervalos la condici´on s(1) = y1 . 2. s′ es continua en (0, 2), esto es: s′ (1+) = s ′ (1−) = 2(y1 − y0 ). Sustituyendo este ´ultimo valor en la expresi´on obtenida para s(x) cuando x ∈ [1, 2], se concluye que: s(x) = 4.4.7.



y0  + (y1 − y0 )x2 , x ∈ [0, 1] 2 y1  + 2(y1 − y0 )(x − 1) + (y2 − 3y1  + 2y0)(x − 1) , x ∈ [1, 2],

Tareas

1. Construir un programa para la interpolaci´on spline de grado 2. 2. Consultar y desarrollar una metodolog´ıa para las funciones spline c´ubicas. 3. Implementar un algoritmo para la interpolaci´ on spline c´ ubica. 4. Resolver: a ) Interpolar por splines de grado 1, 2 y 3 la funci´on f (x) =

1

x

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). on f (x) = x 1+1  en el interb ) Interpolar por splines c´ubicos la funci´ valo 0 ≤ x ≤  1 tomando los seis puntos de las abcisas xk = k5 , k = 0, 1, 2, 3, 4, 5. 2

5. Se considera la funci´on polinomial a trozos r(x) =



x3 , x ∈ [0, 1[ 3 2 0,5(x − 1) + a(x − 1) + b(x − 1) + c x ∈ [1, 3],

Determinar qu´ e condiciones deben verificar los par´ametros reales a, b y c  para que dicha funci´on sea un spline c´ ubico sobre Γ =  { 0, 1, 3}. 31

pℵ m

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF