Sunteți pe pagina 1din 13

INTERPOLACION SEGMENTARIA CUBICA

Universidad Autnoma Metropolitana - Azcapotzalco o Mtodos Numricos e e March 1, 2006

Contents
1 INTERPOLACION CUBICA DE TRAZADOR 2 TRAZADOR CUBICO NATURAL 2 7

List of Algorithms
1 TRAZADOR CUBICO NATURAL . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

List of Figures
1 2 3 4 5 6 7 8 Joven pato en vuelo . . . . . . . . Serie de segmentos de recta . . . . Interpolacin de trazadores cbicos o u Joven Pato en vuelo . . . . . . . . Joven Pato en vuelo . . . . . . . . Joven pato en vuelo . . . . . . . . Joven pato en vuelo . . . . . . . . Parte superior del pato en MatLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 4 9 10 11 12 13

INTERPOLACION CUBICA DE TRAZADOR

En las secciones anteriores de este cap tulo nos preocupamos por la aproximacin de funciones o arbitrarias en intervalos cerrados usando polinomios. Aunque este mtodo de aproximacin es e o apropiado en muchas circunstancias, la naturaleza oscilatoria de los polinomios de grado mayor y la propiedad de que una uctuacin sobre una porcin pequea del intervalo puede inducir uco o n tuaciones muy grandes sobre el rango entero, ver gura 1 restringen su uso cuando se aproximan muchas de las funciones que surgen en situaciones f sicas reales.

Figure 1: Joven pato en vuelo Un enfoque alternativo que puede usarse para obtener funciones interpolantes consiste en dividir el intervalo en una coleccin de subintervalos y construir un polinomio aproximante diferente o (generalmente) en cada subintervalo. La aproximacin con funciones de este tipo se llama aproxo imacin polinmica segmentaria. o o El tipo ms simple de aproximacin polinmica segmentaria es la interpolacin lineal segmentaria a o o o que consiste en unir un conjunto de datos de puntos

{(x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn ))} con una serie de l neas rectas, ver gura 2. Este es el mtodo de interpolacin usado en cursos elee o mentales que contienen el estudio de funciones trigonomtricas o logar e tmicas cuando se requieren los valores intermedios de una coleccin de valores tabulados. La desventaja de enfocar un proo blema de aproximacin usando funciones de este tipo es que en cada uno de los extremos de los o subintervalos, no hay ninguna seguridad de diferenciabilidad, lo cual, en un contexto geomtrico, e signica que la funcin interpolante no es suave en esos puntos. o Frecuentemente por las condiciones f sicas es claro que se requiere esta condicin y en estos casos o la funcin aproximante debe ser continuamente diferenciable. Un procedimiento que podr uno o a 2

Figure 2: Serie de segmentos de recta seguir ser usar un polinomio segmentario del tipo de Hermite. Por ejemplo, si se conocen los a valores f y f en cada uno de los puntos x0 < x1 < . . . < xn , se podr usar un polinomio de a Hermite de grado 3 en cada uno de los subintervalos [x0 , x1 ], [x1 , x2 ], ..., [xn1 , xn ] para obtener una funcin que sea continuamente diferenciable en el intervalo [x0 , xn ]. o El determinar el polinomio cbico de Hermite apropiado en un intervalo dado es simplemente cosa u de calcular la funcin H3 (x) para ese intervalo. Como los polinomios interpolantes de Lagrange o necesarios para determinar H3 son de primer grado, esto puede realizarse sin mayor dicultad. Los polinomios cbicos de Hermite se usan comnmente en los problemas relacionados con el u u estudio del movimiento de part culas en el espacio. Sin embargo, para considerar esta aplicacin, o la teor debe extenderse a funciones multivariadas. Una referencia a este material es Schultz. a La dicultad del uso de polinomios segmentarios de Hermite para problemas generales de interpolacin estriba en la necesidad de conocer la derivada de la funcin que se est aproximando. o o a En las situaciones ms usuales, se conocen datos de la funcin pero no de su derivada. En lo a o que resta de esta seccin consideramos aproximaciones usando polinomios segmentarios que no o requieren informacin acerca de la derivada, excepto en los extremos del intervalo en el cual la o funcin se est aproximando. o a Posiblemente el tipo ms simple de funcin polinmica segementaria diferenciable en un intervalo a o o entero [x0 , xn ] es la funcin que se obtiene ajustando un polinomio cuadrtico entre cada par de o a nodos sucesivos. Esto se hace construyendo una cuadrtica en [x0 , x1 ] que coincida con la funcin a o en x0 y x1 , otra cuadrtica en [x1 , x2 ] que coincida con la funcin en x1 y x2 , y as sucesivamente. a o Como un polinomio cuadrtico general tiene tres constantes arbitrarias-el trmino constante, el a e 2 - y slo se requieren dos condiciones para ajustar los datos en coeciente de x y el coeciente de x o los extremos de cada subintervalo, existe la exibilidad suciente para permitir que las cuadrticas a se escojan adems de tal manera que, la interpolante tenga derivada continua en [x0 , xn ]. a La dicultad de este procedimiento surge cuando hay la necesidad de especicar las condiciones referentes a la derivada de la interpolacin en los extremos x0 y xn . No hay un nmero suciente o u 3

Figure 3: Interpolacin de trazadores cbicos o u de constantes para asegurar que las condiciones se satisfacen. La aproximacin polinmica segmentaria ms comn usando polinomios cbicos entre parejas o o a u u sucesivas de nodos se llama interpolacin c bica de trazador. o u Un polinomio cbico general involucra cuatro constantes; as que hay suciente exibilidad en u el procedimiento del trazador cbico para garantizar no solamente que la interpolante sea conu tinuamente diferenciable en el intervalo, sino que tenga tambin una segunda derivada continua. e La construccin del trazador cbico, sin embargo, no supone que las derivadas de la interpolante o u coinciden con las de la funcin ni siquiera en los nodos, ver gura3. o Dada la funcin f denida en [a, b]y un conjunto de nmeros, llamados los nodos, a = x0 < o u x1 < ... < xn = b, un interpolante cbico de trazador, S, para f es una funcin que satisface las u o siguientes condiciones:

a) S es un polinomio cbico, denotado Sj , en el subintervalo [xj , xj+1 ] para cada j = 0, 1, . . . , n1; u b) S(xj ) = f (xj ) para cada j = 0, 1, ..., n; c) Sj+1 (xj+1 ) = Sj (xj+1 ) para cada j = 0, 1, . . . , n 2; d) Sj+1 (xj+1 ) = S j(xj+1 ) para cada j = 0, 1, ..., n 2; e) Sj+1 (xj+1 ) = Sj (xj+1 ) para cada j = 0, 1, . . . , n 2; f ) se satisface una del siguiente conjunto de condiciones de frontera: (i) S(x0 ) = S(xn ) = 0 (frontera libre) (ii) S (x0 ) = f (x0 ) y S (xn ) = f (xn ) (frontera sujeta)

Aunque los trazadores cbicos pueden denirse con otras condiciones de frontera, las condiciones u dadas arriba son sucientes para nuestros propsitos. Cuando se satisfacen las condiciones de o frontera libre, el trazador se llama trazador natural y su grca se aproxima a la forma que a tomar una varilla larga exible si se forzara a pasar por cada uno de los puntos de los datos a {(x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn ))} En general, las condiciones de frontera sujeta nos llevarn a aproximaciones ms exactas ya que a a incluyen ms informacin acerca de la funcin; sin embargo, para que este tipo de condicin a la a o o o frontera se implemente, es necesario tener, ya se los valores de la derivada en los extremos, o una aproximacin precisa de estos valores. o Para construir el interpolante cbico de trazador para una funcin f dada, se pueden aplicar las u o condiciones de la denicin a los polinomios cbicos. o u Sj (x) = aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3 Para cada j = 0, . . . , n 1. Claramente, Sj (xj ) = aj = f (xj ) Y si se aplica la condicin (c), o aj+1 = Sj+1 (xj+1 ) = Sj (xj+1 ) = aj + bj (xj+1 xj ) + cj (xj+1 xj )2 + dj (xj+1 xj )3 Para cada j = 0, 1 . . . , n 2 Como el trmino (xj+1 xj ) se usar repetidamente en este desarrollo, es conveniente introducir e a la notacin ms simple, o a hj = (xj+1 xj ) Para cada j = 0, 1, . . . , n 1. Si, adems denimos an = f (xn ), se puede ver que esto implica que a la ecuacin o

aj+1 = aj + bj hj + cj h2 + dj h3 j j se satisface para cada j = 0, 1, . . . , n 1. De una manera similar, denimos bn = S (xn ) y observamos que Sj (x) = bj + 2cj (x xj ) + 3dj (x xj )2 implica que Sj (xj ) = bj para cada j = 0, 1, . . . , n 1. Aplicando la condicin (d), o

(1)

bj+1 = bj + 2cj hj + 3dj h2 j para cada j = 0, 1, . . . , n 1.

(2)

Otra relacin entre los coecientes de Sj se puede obtener deniendo cn = S (xn )/2 y aplicando o la condicin (e). En este caso (3.28) o

cj+1 = cj + 3dj hj para cada j = 0, 1, . . . , n 1.

(3)

Despejando dj de la ecuacin 3 y sustituyendo este valor en las ecuaciones 1 y 2 da las nuevas o ecuaciones h2 j = aj + bj hj + (2cj + cj+1 ) 3

aj+1 y

(4)

bj+1 = bj + hj (cj + cj+1 ) para cada j = 0,1, . . . , n - 1.

(5)

La relacin nal que involucra a los coecientes se puede obtener resolviendo la ecuacin apropio o ada en la forma de la ecuacin 4, primero para bj , o hj 1 (aj+1 aj ) (2cj + cj+1 ) hj 3

bj =

(6)

y luego, con una reduccin del o ndice, para bj1 1 hj1 hj1 (2cj1 + cj ) 3

bj1 =

(aj aj1

Sustituyendo estos valores en la ecuacin derivada de la ecuacin, cuando el o o ndice se reduce en uno, se obtiene el sistema lineal de ecuaciones 5 3 3 (aj+1 aj ) (aj aj1 ) hj hj1

hj1 cj1 + 2(hj1 + hj )cj + hj cj+1 =

(7)

para cada para cada j = 1,2,. . . , n - 1. Este sistema tiene como incgnitas slo a {cj }n ya que o o j=0 los valores de {hj }n y de {aj }n estn dados por el espaciamiento entre los nodos {xj }n y a j=0 j=0 j=0 los valores de f en los nodos. Ntese que una vez que se conocen los valores de {cj }n encontrar las constantes restantes o j=0 n1 {bj }n1 partiendo de la ecuacin 7 y {dj }j=0 de la ecuacin 3 y construir los polinomios cbicos o o u j=0

{Sj }n1 es una cuestin sencilla. o j=0 La mayor pregunta que surge en conexin con esta construccin es si los valores de {cj }n pueden o o j=0 ser encontrados usando el sistema de ecuaciones dado en (3.32) y si es as si estos valores son , unicos. Los siguientes teoremas indican que, cuando cualquiera de las ecuaciones de frontera dadas en la parte (f ) de la denicin se imponen, la respuesta a ambas preguntas es armativa. o Las demostraciones de estos teoremas requieren material de lgebra lineal. a Teorema. Si f es una funcin denida en [a, b], entonces f tiene un unico interpolante de o trazador natural; o sea un unico interpolante de trazador que satisface las condiciones de frontera libre S (a) = S (b) = 0. Demostracin. Con la notacin usual a = x0 < x1 < . . . < xn = b, las condiciones de frontera o o en este caso implican que cn = S (xn )/2 = 0 y que 0 = S (x0 = 2c0 + 6d0 (x0 + x) As que c0 = 0 Las dos ecuaciones c0 = 0 y cn = 0 junto con las ecuaciones en 7 producen un sistema lineal descrito por la ecuacin vectorial Ax = B, donde A es la matriz de (n + 1) (n + 1) o A=

0 h1 2(h1 + h2 )

...

...

h0 2(h0 + h1 ) 0 . . . . . . 0 h1

h2

0 . . . . . . 0

hn2 2(hn2 + hn1 ) hn1 0 0 1

y donde b y x son los vectores

b=

0 3 (a2 a1 ) h1 . . .
3 hn1 (an

3 h1 (a1

a0 ) an2 )

an1 )

3 hn1 (an1

y x=

c0 c1 . . . cn

La matriz A es estrictamente dominante diagonalmente, as que satisface las hiptesis del teorema. o Por lo tanto, el sistema lineal tiene una solucin unica para c0 , c1 , . . . , cn . o

TRAZADOR CUBICO NATURAL

La solucin al problema del trazador cbico con las condiciones de frontera S (x0 ) = S (xn ) = 0 o u se puede obtener aplicando el algoritmo 1.

Algorithm 1 TRAZADOR CUBICO NATURAL Require: n, x0 , x1 , . . . , xn , a0 = f (x0 ), a1 = f (x1 ), . . . , an = f (xn ) Ensure: aj , bj , cj , dj para j = 0, 1, . . . , n 1 (Nota: S(x) = Sj (x) = aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3 para xj < x < xj+1 ) {Para construir el interpolante cbico de trazador S para la funcin f , denida en los nmeros u o u x0 < x1 < . . . < xn y que satisface S (x0 ) = S (xn ) = 0 } Paso 1 for ( i desde 0 hasta n 1) do hi = xi+1 xi end for Paso 2 for ( i desde 1 hasta n 1, ) do i =
3 hi (ai+1

ai )

3 hi1 (ai

ai1 )

end for { Los pasos 3, 4 y 5 y parte del paso 6 resuelven un sistema lineal tridiagonal } Paso 3 l0 = 1 0 = 0 z0 = 0 Paso 4 for i desde 1 hasta n 1, ) do li = 2(xi+1 xi1 ) hi1 i1 i = hi /li zi = (i hi1 zi1 )/li end for Paso 5 Tome ln = 1 zn = 0 cn = 0 Paso 6 for ( i desde n-1 hasta 0, -1) do cj = zj j cj+1 bj = (aj+1 aj )/hj hj (cj+1 + 2cj )/3 dj = (cj+1 cj )/(3hj ) end for Paso 7 SALIDA (aj , bj , cj , dj para j = 0, 1, . . . , n 1)

Figure 4: Joven Pato en vuelo Ejemplo. La gura 4 representa a un joven pato en vuelo. Mediante los interpolantes de trazadores cbicos se va a aproximar la parte superior del pato. Se traza la curva en una cuadr u cula a partir de la cual se construy la tabla. Utiliza el algoritmo para construir los trazadores cbicos o u correspondientes y dibujar la parte superior del pato. x 0.9000 1.3000 1.9000 2.1000 2.6000 3.0000 3.9000 4.4000 4.7000 5.0000 6.0000 7.0000 8.0000 9.2000 10.5000 11.3000 11.6000 12.0000 12.6000 13.0000 13.3000 f(x) 1.3000 1.5000 1.8500 2.1000 2.6000 2.7000 2.4000 2.1500 2.0500 2.1000 2.2500 2.3000 2.2500 1.9500 1.4000 1.4000 0.7000 0.6000 0.5000 0.4000 0.2500

Al utilizar el algoritmo anterior para generar el trazador cubico libre con estos datos, se obtienen los coecientes que aparecen en la tabla. Esta curva de trazador es casi identica al perl, como

Figure 5: Joven Pato en vuelo se observa en la gura 5. j 0 1 2 4 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 xj 0.9 1.3 1.9 2.1 2.6 3.0 3.9 4.4 4.7 5.0 6.0 7.0 8.0 9.2 10.5 11.3 11.6 12.0 12.6 13.0 13.3 aj 1.3000 1.5000 1.8500 2.1000 2.6000 2.7000 2.4000 2.1500 2.0500 2.1000 2.2500 2.3000 2.2500 1.9500 1.4000 0.9000 0.7000 0.6000 0.5000 0.4000 0.25 bj 0.5396 0.4208 1.0868 1.2949 0.5934 -0.0222 -0.5034 -0.4771 -0.0713 0.2623 0.0808 0.0146 -0.1390 -0.3358 -0.5318 -0.7312 -0.4929 -0.1413 -0.1789 -0.3928 cj 0.0000 -0.2972 1.4073 -0.3666 -1.0365 -0.5025 -0.0322 0.0849 1.2676 -0.1555 -0.0261 -0.0401 -0.1135 -0.0506 -0.1002 -0.1490 0.9431 -0.0640 0.0014 -0.5361 dj -0.2476 0.9469 -2.9564 -0.4466 0.4451 0.1742 0.0781 1.3142 -1.5812 0.0431 -0.0047 -0.0244 0.0175 -0.0127 -0.0203 1.2134 -0.8393 0.0364 -0.4480 0.5957

A n de facilitar la comparacin, la gura 7 ofrece un ejemplo grco de la curva que se genera o a 10

Figure 6: Joven pato en vuelo con un polinomio interpolante de Lagrange que corresponde a los datos de la tabla, generndose a una extraa ilustracin del lomo del pato en vuelo o en otra posicin. En este caso, el polinomio n o o interpolante es de grado 20 y oscila demasiado. El siguiente script en MatLab graca el perl del pato, el cual se muestra en la gura 8. Nota: Este script requiere que ya hayan sido calculados los coecientes aj , bj , cj , dj para j = 0, 1, . . . , n 1). Para ejecutar el script teclear desde MatLab >> t r a z a d o r g r a f ( n , x , a , b , c , d )

11

Figure 7: Joven pato en vuelo

Listing 1: Script trazador graf.m

11

13

15

17

19

21

function t r a z a d o r g r a f ( n , vecx , a , b , c , d ) %Entradas : % n:=Numero de d a t o s % v e c x := Vector de d a t o s X % a , b , c , d:= Vector C o e f i c i e n t e s de l a s e c u a c i o n e s f o r i =1:n1 f p r i n t f ( Ecuacion %d : %f x 3 + (% f ) x 2 + (% f ) x + (% f ) \n , i , d( i ) , c ( i ) ,b( i ) , a( i ) ) ; end s e l e c=input ( \ nDesea g r a f i c a r e s t a s f u n c i o n e s ( s i =1/no =0): ) ; axis ( [ 0 14 6 4 ] ) ; hold on ; i f s e l e c ==1 f o r i =1:n1, x=vecx ( i ) : 0 . 1 : vecx ( i +1); s =(d ( i ) . ( ( xvecx ( i ) ) . 3 ) ) + ( c ( i ) . ( ( xvecx ( i ) ) . 2 ) ) +(b ( i ) . ( xvecx ( i ) ) ) + ( a ( i ) ) ; plot ( x , s ) end end hold o f f ;

12

Figure 8: Parte superior del pato en MatLab

13

S-ar putea să vă placă și