Interpolación Spline Michelle Oviedo, Andrea Robalino, Jessica Tapia Departamento de Ciencias Exactas, Universidad de las Fuerzas Armadas - ESPE Sangolquí, Ecuador
[email protected] [email protected] [email protected]
Abstract- This document explains what Spline Interpolation method studies in numerical methods, describing the function and calculating the interpolation with comments and details to consider before and during application when performing calculation. Resumen.-Este documento explica en qué consiste la Interpolación Spline, método que se estudia en métodos numéricos, describiendo la función y cálculo de la interpolación con observaciones y detalles que se deben considerar antes y durante su aplicación al momento de realizar cálculos Palabras claves: puntos de control, control local.
I.
INTRODUCCIÓN
Los Splines permiten representaciones matemáticas de superficies partiendo de información relativa a algunos de sus puntos. Su construcción consiste en obtener una función de interpolación que pase por esos puntos. Para poder hacer esto es necesario contar con algunas habilidades matemáticas, por ejemplo: derivación, buen manejo del álgebra y finalmente solución de sistemas de ecuaciones lineales grandes; que en ocasiones adolecen los estudiantes.[1] II.
MARCO TEÓRICO
La interpolación consiste en obtener una función que corresponda a una serie de datos conocidos. Una de las clases de funciones más útiles y mejor conocidas es la de los polinomios algebraicos, es decir el conjunto de funciones de la forma: (1)
P ( x )=an xn + an−1 x n−1 +…+a 1 x 1+ a0 x0
Donde n es un entero no negativo y
an , an−1 , a1 , y a0
son constantes reales. Una de las razones importantes por la cual se debe considerar esta clase de polinomios en la interpolación de funciones, es que la derivada y la integral de un polinomio son fáciles de determinar y también son polinomios. Por esta y otras razones más, con frecuencia se usan los polinomios para aproximar a las funciones continuas.[3] La idea central es que en vez de usar un solo polinomio para interpolar todos los datos (Pares coordenados), se pueden usar segmentos de polinomios entre pares coordenados de datos y unir cada uno de ellos adecuadamente para ajustar los datos. Vale la pena resaltar que entre todas las formas de ajustar datos, lossplines cúbicos han resultado ser los más adecuados para cualquier tipo de aplicación. Así pues, se puede decir de manera informal, que una función spline está formada por varios polinomios, cada uno definido en un intervalo y que se unen entre si bajo ciertas condiciones de continuidad.[2] A. Definición El término "spline" hace referencia a una amplia clase de funciones que son utilizadas en aplicaciones que requieren la interpolación de datos, o un suavizado de curvas. Los splines son utilizados para trabajar tanto en una como en varias dimensiones. Las funciones para la interpolación por splines normalmente se determinan como minimizadores de la aspereza sometidas a una serie de restricciones.
Una función spline está formada por varios polinomios, cada uno definido sobre un subintervalo, que se unen entre sí obedeciendo a ciertas condiciones de continuidad. 1) Trazadores lineales: La unión entre dos puntos es una línea recta. Los trazadores de primer grado para un grupo de puntos asociados con datos ordenados pueden definirse como un conjunto de funciones lineales
f ( x )=f ( x0 ) + m0 ( x−x 0 ) x 0 ≤ x ≤ x 1 f ( x )=f ( x1 ) + m1 ( x−x 1 ) x 1 ≤ x ≤ x 2 f ( x )=f ( xn −1 ) + mn−1 ( x−x n−1 ) x n−1 ≤ x ≤ x n mi es la pendiente de la línea recta que une los Donde puntos:
mi=
Fig1. Interpolación Polinómica a trozos
Mediante el método de interpolación Spline, se usan polinomios de grado 3 para unir dos puntos de la función entre sí, es decir en vez de utilizar un polinomio de alto grado se usan varios de grado 3, esto implica que para N puntos tenemos N-1 polinomios diferentes de grado 3.
f ( x i+1 )−f ( x i ) x i+1 −x i
Estas ecuaciones se pueden usar para evaluar la función en cualquier punto entre
x0 y xn
localizando primero el
intervalo dentro del cual está el punto. Después se usa la ecuación adecuada para determinar el valor de la función dentro del intervalo. Este método es idéntico al de la interpolación lineal. 2) Trazadores (Splines) cuadráticos: Para asegurar que las derivadas m-ésimas sean continuas en los nodos, se debe emplear un trazador de un grado de, al menos, m+1. 2) Trazadores (Splines) cúbicas :
Fig.2. Gráfica de una curva Spline
Especificamos una curva Spline al proporcionar un conjunto de puntos (que será una serie de coordenadas) a los que denominaremos puntos de control. Estos puntos de control se ajustarán después con funciones polinómicas continuas que se pueden entender con una de las siguientes maneras:
La función s(x) se llama cúbica a trozos en
[x 0 , xn ] si existen polinomios cúbicos
1)Interpolación
q 0( x), q1 ( x), . .. , qn −1 (x ) tales que :
La curva realiza la interpolación del conjunto de puntos de control cuando las secciones polinómicas se ajustan de modo que la curva pasa a través de cada punto de control.[4]
Fig.3 Gráfica con la interpolación
Mientras que para la segunda derivada tendremos:
2) Aproximación
S ' ' k ( x k+1 )=S ' ' k+1 ( x k+1 ) ,
La curva realiza una aproximación al conjunto de puntos de control cuando los polinomios se ajustan a la trayectoria general del punto de control sin pasar necesariamente a través
. (d) Finalmente,
de ningún punto de control.[4]
para
n+1 puntos (x 0 , y 0 ),( x1 , y 1) ,... ,(x n , y n) puntos de la gráfica de una función
(en principio desconocida), un spline cúbico
dichos
datos
será
S ;[a ;b]→ R , donde
una
función
a=x 0 , y
b=x n
S (x ) ,
S ( x ) =qk (x )
tal que
siempre
k ,
(c)
'' ( x n)
=0
(1)
q k ( x )=ak +bk ( x−x k ) +c k ( x−x k )2 +d k ( x−x k )3
Donde tenemos 4n incógnitas, con las condiciones de interpolación:
S ( x k )= y k ,
n+1
ecuaciones
Condiciones de conexión:
q ' k ( x k +1 )=q ' k+1 ( x k+1 )
3(n−1) ecuaciones
q ' ' k ( x k +1 )=q ' ' k+1 ( x k+1 ) Para el polinomio Spline tenemos:
S k ( x k )= y k , entonces
con
=S
que:
k =0,1, … ., n . (b) Si
' ' ( x 0)
q k ( x k +1) =q k+1 ( x k+1 )
polinomio de grado
xϵ [x k , x k+1 ]
donde
S k ( x k+1 )= y k+1 ,
q k ( x )=ak +bk ( x−x k ) +c k ( x−x k )2 +d k ( x−x k )3
k =0,1, … ,n .
S (x )
final,
ecuaciones lineales compatible determinado, por tanto la
(2)
verifique las siguientes condiciones: (a) Sea
y
solución es única. [3] Entonces, podemos calcular el polinomio de interpolación:
x 0< x1 …< x n
para
inicial
Las condiciones anteriores se traducen en un sistema de
B. Desarrollo para obtener el polinomio
y=f ( x)
puntos
Nota: Si se impone esta últimacondición, se dice que el Spline es un Spline Natural.La segunda derivada de la función de interpolación es continua. [1]
Fig.4 Gráfica con la aproximación
con
los
impondremos la condición extra:
S
Dados
∀k=0,1,2,… , n−2
ak =f ( x k ) ;
k =1,2,… , n
;
es de clase ℂ en (a; b). En particular, esto 2
hk =x k+1−x k implica que la primera derivada de
S ' k ( x k+1 )=S ' k+1 ( x k+1 ) ,
S ( x ) verifique:
∀ k=0,1,2,… , n−2 .
bk =
h 1 a k+1−ak )− k ( 2 c k −c k +1) , ( hk 3
dk=
1 3 3 ( c −c )= ( a −a ) − ( a −a ) 3 hk k+1 k hk k+ 1 k hk .1 k k−1 ,
3 ( a −a ) −3 f ' ( x 0 ) h0 1 0
hn−1 c n−1+2 h n−1 c n=3 f ' ( x n )−
k =0,1, … ,n−1
De donde obtendremos:
2 h0 c 0+ h0 c1 =
n−1 ecuaciones y n+1
Matriz del sistema
[
⋯ ⋯ ⋯ ⋱ ⋱ ⋯ ⋯ ⋯
C. Errores de la Interpolación Spline En términos generales, con las condiciones de frontera sujeta se logran aproximaciones más exactas, ya que abarca mayor información acerca de la función. Pero para que se cumpla este tipo de condición, se requiere tener los valores de la derivada en los extremos o bien una aproximación precisa de ellos. Si se desea construir el conjunto de polinomios de la interpolación de trazador cúbico de una 0 0 0 determinada función f, se van aplicando cada una de las condiciones de la definición 0 general.[2] 0 a0un polinomio cúbico
incógnitas
2 ( h0 +h 1 ) h1 0 h1 2 ( h1 +h2 ) h2 0 h2 2 ( h2 +h3 ) ⋮ ⋮ ⋮ M= ⋮ ⋮ ⋮ 0 0 0 0 0 0 0 0 0
b) Sea
c)
[
]
⋯ ⋯ ⋯ 0 0 0 [a ,b ] un intervalo cerrado real y ⋱ ⋮ a) Sean ⋮ ⋮ ⋱ ⋮ a=x1 <⋮ x 2 <…< x=b ⋮ una partición del ⋯ 2 ( hn−4 + hn−3 ) h n−3 0 mismo. ⋯ hn−3 2 ( h n−3+ hn−2 ) hn−2 ⋯ 0 h n−2max { x2j +1 h= ( h−x n−2 +h j } n−1)
Términos Independientes
3 3 a2−a1 )− ( a1−a 0 ) ( h1 h0 ⋮ T= ⋮ 3 3 a n−a n−1 ) − ( ( a −a ) hn−1 hn−2 n−1 n−2
3 ( a −a ) h n−1 n n−1
]
.
0≤ j ≤ n−1
Sean
fϵ C 2 ([a , b]) y s ( x) el spline cúbico
natural o sujeto que interpola a nodos de la partición considerada. Entonces el error de interpolación:
e ( x )=f ( x ) −s ( x ) , xϵ [a ,b ] Donde se verifica, que para cada intervalo
Teorema: Si
que
f ( x ) es una función definida en
entonces existe un único para
f ( x) en
[ x0 , xn ]
,
S ( x) spline cúbico interpolante
[ x0 , xn ]
, tal que:
f (x) en los
existe
e ( x j )=e ( x j+1 ) =0 al
menos
un
[x j , x j +1] ,
y, por el teorema de Rolle,
valor
c j ϵ [ x j , x j+1 ] , tal que
e ' ( c j )=0 . En consecuencia, x
∫ e ' ' ( t ) dt =e' ( x )−e' ( c j ) =e ' ( x ) , ∀x ϵ[ x j , x j+1 ] S ' ( x 0 )=f ' ( x0 ) y S ' ( x n )=f ' ( xn )
cj
La derivada del error está acotada por una expresión
h
proporcional a
1 2
Primero, vemos que se forman tres intervalos:
[3.4,5 ],[4.5,7],[7,9]
. Como:
En cada uno de estos intervalos, debemos definir una función polinomial de grado 2, como sigue: x
Hacemos que la spline pase por los puntos de la tabla de datos, es decir, se debe cumplir que:
'
∫ e ( t ) dt=e ( x )−e ( x j )=e ( x )−0=e ( x) xj
s (3)=2,5 ;
|
|
x
xj
b
∫f2¿
s (7)=2,5 ;
s (9)=0,5
x
|e (x)|= ∫ e ( t ) dt ≤∫ max |e '(z )|dt '
s ( 4,5)=1 ;
x j a ≤ x≤ b
Así, se forman las siguientes ecuaciones:
x ¿ 2 a n+( x)bn + cn =f (x ) s ( x )=f ( x )⇒¿
1 2
a
3
|e ' (z )|≤ h 2 ¿
3 ¿ b1 +c 1=2.5 2 3 ¿ a1 +¿ s ( 3 )=2.5 ⇒¿
x
|e ' (z)|dt ≤h max ¿ ∫ amax ≤ x ≤b a ≤ x ≤b xj
Luego, la cota del error de interpolación spline cúbica natural o sujeta es:
b
∫f
2
¿
1 2
7 ¿ b2 +c 2=2.5 ¿ 7 ¿ b3 +c 3=2.5 7 ¿2 a3 +¿ 7 ¿2 a2 +¿ ¿ ¿ s ( 7 ) =1⇒¿
a
3
|e (x)|=|f ( x )−s ( x)|≤ h 2 ¿
IV. 1.
EJERCICIOS DE INTERPOLACIÓN
Con los siguientes datos:
9 ¿ b3 +c 3=0.5 9 ¿2 a3 +¿ s ( 9 ) =2.5 ⇒¿
TABLA I DATOS DEL EJERCICIO 1 x y
3 2.5
4.5 1
7 2.5
a) Calcular la interpolación por splines de grado 2:
4.5 ¿ b1 + c1=1 ¿ 4.5 ¿ b2 + c2=1 4.5 ¿2 a2 +¿ 4.5 ¿2 a1 +¿ ¿ ¿ ( s 4.5 ) =1 ⇒¿
9 0.5
Hasta aquí, tenemos un total de 6 ecuaciones con 9 incógnitas.
El siguiente paso es manejar la existencia de las derivadas continuas. En el caso de las splines de grado 2, necesitamos que la spline tenga derivada continua de orden k-1=1, es decir, primera derivada continua.
s ' ( x )=2 a n x +bn
{
2 a1 x +b 1 ; si xϵ[3,4.5] s ’(x )= 2 a2 x +b2 ; si xϵ[4.5,7] 2 a3 x +b 3 ; si xϵ[ 7,9] Vemos que esta derivada está formada por segmentos de rectas, que pudieran presentar discontinuidad en los cambios de intervalo. Es decir, las posibles discontinuidades son x =5.4 y x=7. Por lo tanto para que s′(x) sea continua, se debe cumplir que:
2 a1 ( 4.5 ) +b1=2a 2 ( 4.5 )+ b2 ⇒9 a1+ b1=9 a2+ b2 También debe cumplirse que:
2 a2 ( 7 )+ b2=2 a3 ( 7 ) +b 3 ⇒14 a 2+ b2=14 a 3+ b3 Así, tenemos un total de 8 ecuaciones vs. 9 incógnitas; esto nos da un grado de libertad para elegir alguna de las
a1=0 .
De esta forma, tenemos un total de 8 ecuaciones con 8 incógnitas. Estas son las siguientes: 1)
3+c 1=2.5
2)
4.5 b 1+ c1=1
3)
20.25 a2 +4.5 b 2+ c2 =1
4)
49 a 2+7 b 2+ c 2=2.5
5)
49 a 3+7 b3 +c 3=2.5
6)
81 a3 +9 b3 + c3 =0.5
7)
b1=9 a2 +b2
8)
14 a2 +b 2=14 a 3+ b3
[
3 4.5 0 M= 0 0 0 1 0
Calculamos primero la primera derivada:
incógnitas. Elegimos por simple conveniencia
Este sistema de ecuaciones tiene la siguiente forma matricial:
1 0 0 0 0 0 1 0 0 0 0 0 0 20.25 4.5 1 0 0 0 49 7 1 0 0 0 0 0 0 49 7 0 0 0 0 81 9 0 −9 −1 0 0 0 0 14 1 0 −14 −1
0 0 0 0 1 1 0 0
][ ]
b1 2.5 c1 1 a2 1 b2 2.5 = c 2 2.5 a3 0.5 0 b3 0 c3
Se obtiene la siguiente solución y sustituyendo estos valores junto con
(a1 =0),
obtenemos la función simple
cuadrática que interpola la tabla de datos del problema:
b 1=−1 c 1=5.5 a2=0.64 −x+ 5.5 ; si xϵ[3,4.5] b2=−6.76 ⇒s ( x ) = 0.64 x2−6.76 x +18.46 ; si xϵ[4.5,7] c 2=18.46 2 −1.6 x +24.6−91.3 ; si xϵ[ 7,9] a3 =−1.6 b3=24.6 c 3=−91.3
{
La gráfica que se muestra, contiene tanto los puntos iniciales de la tabla de datos, así como la spline.
Fig.5 Gráfica del Spline cuadrático del Ejercicio 1
b) Calcular la interpolación por splines de grado 3: Primero, vemos que se forman tres intervalos:
El siguiente paso es manejar la existencia de las derivadas continuas. En el caso de las splines de grado 3, necesitamos
[3.4,5 ],[4.5,7],[7,9]
que la spline tenga derivada continua de orden En cada uno de estos intervalos, debemos definir una función polinomial de grado 2, como sigue: Hacemos que la spline pase por los puntos de la tabla de datos, es decir, se debe cumplir que:
s (3)=2,5 ;
s (4,5)=1 ;
s (7)=2,5 ;
s (9)=0,5 Así, se forman las siguientes ecuaciones: 2
x ¿ b n+ ( x ) c n+ d n=f (x) x ¿3 an +¿ s ( x )=f (x) ⇒¿ 3 ¿2 b1+ ( 3 ) c1 + d1=2.5 3 ¿3 a1+ ¿ s (3 )=2.5 ⇒¿ 4.5 ¿2 b1+ ( 4.5 ) c 1+ d 1=1 ¿ 2 4.5 ¿ b2 +( 4.5)c2 + d2 =1 3 4.5 ¿ a2+ ¿ 4.5 ¿3 a1+ ¿ ¿ ¿ s ( 4.5 )=1 ⇒¿ 2
7 ¿ b2 + ( 7 ) c 2+ d 2=2.5 ¿ 3 2 7 ¿ a3 +(7) b3 +(7)c 3+ d 3=2.5 3 7 ¿ a2 +¿ ¿ ¿ s ( 7 )=1 ⇒¿ 2
9¿ b ¿ ¿ 3 9 ¿ a3 +¿ s ( 9 )=2.5 ⇒¿ Hasta aquí, tenemos un total de 6 ecuaciones con 12 incógnitas.
k −2=1 ,
es decir, primera derivada continua y segunda derivada en los extremos igual a 0. Calculamos la primera derivada:
x ¿ 2+2 b n ( x )+ c n s ' ( x )=3 an ¿ x ¿2+ 2b 1 (x) ; si xϵ[3,4.5] ¿ 2 x ¿ +2 b2 ( x ); si xϵ[ 4.5,7] ¿ 2 x ¿ + 2b 3 (x); si xϵ[7,9] ¿ 3 a1 ¿ s ’ ( x )=¿ Como las primeras derivadas de
f ( x ) en los nodos
internos deben ser iguales, se tienen las siguientes ecuaciones:
4.5 ¿2 +2 b2 ( 4.5 ) +c 2 4.5 ¿2 +2 b1 ( 4.5 ) +c 1=3 a2 ¿ x=4.5 ⇒3 a1 ¿ ⇒60.75 a1+ 9 b1 +c 1−60.75 a2−9 b2−c2 =0 7 ¿2+ 2b 3 ( 7 )+ c3 7 ¿2 +2 b2 (7 ) +c 2=3 a3 ¿ x =7 ⇒3 a 2 ¿ ⇒147 a2+ 14 b2 +c 2−147 a3−14 b 3−c 3=0
s ' ' ( x ) =6 an x+ 2b n
{
6 a1 x+ 2b 1 ; si xϵ[3,4.5] s ' '(x )= 6 a2 x +2 b2 ; si xϵ[4.5,7] 6 a3 x+ 2b 3 ; si xϵ[7,9]
Vemos la segunda derivada está formada por segmentos de rectas, que pudieran presentar discontinuidad en los cambios de intervalo. Es decir, las posibles discontinuidades son
a1=0.187 a 2=−0.214 a 3=0.128 b1=−1.679 b 2=3.73 b3=−3.449 c 1=3.617 c 2=−20.726 c3 =29.534 d 1=1.722 d 2=38.237 d 3 =−79.035
x=4.5 y x=7 . Por lo tanto para que s ' '( x ) sea continua, se debe cumplir que:
x=4.5 ⇒27 a1 +2 b1=27 a2 +2 b2 ⇒27 a1 +2 b1−27 a2−2 b2 =0
{
0.183 x 3−1.679 x 2+3.617 x +1.722 ; si xϵ [ 3,4.5] ⇒s ( x )= −0.214 x 3+ 3.73 x 2−20.726 x +38.237 ; si xϵ [ 4.5,7] 3 2 x=7 ⇒42 a2 +2 b2=42 a3+ 2b 3 ⇒42 a 2+2 b2 −42 a3−2b 3=0 0.128 x −3.499 x +29.53 x−79.035 ; si xϵ [7,9] Asumiendo que las segundas derivadas en los nodos extremos deben ser 0, se obtienen 2 ecuaciones más:
2) Interpolar por splines cúbicos la función
x=3 ⇒18 a 1+ 2b 1=0 x=9 ⇒54 a3 +2 a3 =0
x
f ( x )=
1 x
en
¿ 1.5 tomando los puntos:
( 0.1,10.0 ) , ( 0.2, 5.0 ) , ( 0.5, 2.0 ) , ( 1.0,1.0 ) , ( 2.0,0.5 ) , Así, tenemos un total de 12 ecuaciones vs. 12 incógnitas: 1)
91.125 a 1+20.25 b 1+ 4.5 c 1+ d 1=1
2)
91.125 a 2+20.25 b 2+ 4.5 c 2+ d 2=1
3)
343 a 2+ 49 b 2+7 c 2+ d 2=2.5
4)
343 a 3+49 b 3+7 c 3+d 3=2.5
5)
27 a 1+9 b 1+3 c 1+ d 1=2.5
6)
729 a 3+81 b 3+9 c 3+ d 3=0.5
(5.0, 0.2) ,(10.0, 0.1) .
h0=0.2−0.1=0.1 h3=2.0−1.0=1.0 h1=0.5−0.2=0.3 h4 =5.0−2.0=3.0 h2=1.0−0.5=0.5 h5=10.0−5.0=5.0
7)
60.75 a 1+ 9 b 1+ 3 c 1−60.75 a2−9 b 2−c 2=0 8)
147 a 2+14 b 2+c 2−147 a 3−14 b 3−c 3=0 9)
27 a 1+2 b 1−27 a 2−2 b 2=0
10)
42 a 2+2 b 2−42a 3−2 b 3=0
11)
18 a 1+ 2b 1=0
12) 54 a 3+2 b 3=0 Se obtiene la siguiente solución y obtenemos la función simple cuadrática que interpola la tabla de datos del problema:
El sistema que resulta es:
0.1 σ 0 +2 ( 0.1+ 0.3 ) σ 1 +0.3 σ 2=6
2 –5 5 – 10 − ( 0.5−0.2 0.2−0.1 )
0.3 σ 1 +2 ( 0.3+0.5 ) σ 2 +0.5 σ 3 =6
1 –2 2 – 5.0 − ( 1.0−0.5 0.5−0.2 )
0.5 σ 2 +2 ( 0.5+1.0 ) σ 3 +1.0 σ 4=6
– 1.0 1 – 2 − ( 0.5 2.0 – 1.0 1−0.5 )
1 σ 3 +2 ( 1.0+3.0 ) σ 4 +3.0 σ 5 =6
3 σ 4 + 2 ( 3.0+5.0 ) σ 5 +5.0 σ 6=6
Poniendo
[
σ 0 =σ 6=0
(
0.2 – 0.5 0.5 – 1.0 − 5.0 – 2.0 2−0.5
)
– 0.2 0.2 – 0.5 − ( 1.0 1.0 – 5.0 5−2 )
tenemos:
q 2(x )=13.177416 x 3−35.304772 x 2 +27.896679 x−4.769324 q3 (x )=−1.546861 x 3 +8.868059 x 2−16.276152 x +9.954953 q 4 (x)=+0.0561737 x3 −0.750148 x 2 +2.960264 x−2.869324
q5 (x )=−0.00616383 x3 +0.1849148 x 2−1.715052 x + 4.92287
][ ] [ ]
0.8 0.3 0 0 0 σ1 40 0.3 1.6 0.5 0 0 σ2 8 0 0.5 3.0 1.0 0 σ 3 =6 1.5 0 0 1.0 8.0 3.0 σ 4 0.4 0 0 0 3.0 16.0 σ 0.08 5
de donde se obtienen:
σ 1=311.65398570643 σ 2=−31.077295217152 σ 3 =8.4549532710280 σ 4=−.82621220450797
tam b ie n(−∞ , 0.2 ] ) ¿ q 1 ( x ) , si x ∈[ 0.2,0.5 ] ¿ q2 ( x ) , si x ∈[ 5.0,1.0 ] ¿ q3 ( x ) , si x ∈[ 1.0,2.0 ] ¿ q o ( x ) , si x ∈[ 0.1,0.2 ] ,¿ S ( x )=¿ En el intervalo [1.0, 2.0], la representación de ambas funciones es la que aparece en la figura 2.
σ 5 =0.18491478834524 Para x = 1.5 habrá que elegir
q3 (x ) :
[
] [
]
σ 3 ( 2.0−x )3 σ 4 ( x−1.0 )3 q3 ( x )= −1.0(2.0−x ) + −1.0 (x−1.0) +1.0(2.0−x)+0.5(x−1.0) 6 1.0 6 1.0
y su valor
q3 (x )=0.27320367097855
es una mejor
estimación que la obtenida por interpolación polinómica (ver figura 2). Los diferentes splines que resultan son:
q3 (x ) q 0( x)=519.423309 x 3−155.826993 x 2−39.611534 x+ 15.511123 Fig.6. Función 1/x y
en el intervalo [1.0, 2.0]
q1 (x )=−190.40627 x3 +270.07075 x 2−124.79108 x +20.678637 V.
IMPLEMENTACIÓN EN MATLAB
A. Tabla de Comandos TABLA II TABLA DE COMANDOS Función
pretty
linwidth
Descripció n Mejor presentació n de ecuaciones. Controla el ancho de la línea del plot.
Sintaxis
Arg 1
Pretty(A)
A=x^2/2
Plot(line width,Ar g1)
2
Entrad a Pretty( A)
Salida 2
x 2
Plot(li newidt h,2)
Fig.8 Menús iniciales
B. Diagrama de Flujo
Si se desea escoger puntos, el usuario deberá ingresar el número de puntos que desea interpolar, seguido de tanto los valores de X como los de Y.
Fig.9 Ingreso valores splines cuadráticos Fig.7 Diagrama del Flujo
C. Manual de Usuario Nombre Programa:
A continuación se despliegan los (n-1) polinomios, y se pide al usuario que ingrese el valor donde desea interpolar, mostrando finalmente el valor, el error respectivo y la gráfica de la splin que pasa por los puntos ingresados. Se pregunta al usuario si desea seguir.
Salida: polinomios y valores de interpolación de splines. Este programa debe ser corrido para que se pueda empezar; se desplegará un menú inicial donde se pide al usuario si desea usar la interpolación de splines cuadráticas o cúbicas. Si escoge la opción de splines cuadráticas aparece otro menú para escoger si desea ingreso de función o puntos.
Fig.10 Resolución del método
Fig.13 Resolución del método
Fig.11 Gráfico de los splines cuadráticos
Si escoge la opción de splines cúbicas aparece nuevamente el menú para escoger si desea ingreso de función o puntos. Si desea escoger ingresar una función, el usuario debe escribir la función, el número de puntos seguido de los valores de X que serán evaluados.
Fig.14 Gráfico splines cúbicos
VI. VENTAJAS Y DESVENTAJAS A. Comparación con otros métodos TABLA III COMPARACIÓN CON MÉTODOS SIMILARES N Método
Fig. 12 Ingreso valores splines cúbicos
1
Spline cúbica
A continuación se despliegan los (n-1) polinomios, y se pide al usuario que ingrese el valor donde desea interpolar, mostrando finalmente el valor y la gráfica de la splin que pasa por los puntos ingresados. Se pregunta al usuario si desea seguir.
Función Se usan polinomios de grado 3 para unir dos puntos de la función entre sí, es decir en vez de utilizar un polinomio de alto grado se usan varios de grado 3.
Interpo2 lación de Newton
Para estimar valores intermedios entre valores de una función conocidos.
3 Interpo-
Es una refor-
Ventajas La función de interpolación tendrá una primera derivada suavizada y una segunda derivada continua, tanto dentro de los intervalos como en los puntos de control. Se agregan términos en forma secuencial para capturar el comportamiento de la función a analizar. La ecuación del Polinomio de Interpolación por Diferencias Divididas es similar a la serie de expansión de Taylor. Es rápida y
Desventajas No permiten control local de la curva. Si se altera la posición de cualquier punto de control, afecta la curva entera.
La interpolación lineal es rápida y sencilla, pero no muy precisa. Este método es útil para situaciones que requieran un número bajo de puntos para interpolar. Si el compor-
mulación del polinomio de Newton que evita calcular las diferencias divididas. lación de Lagrange
Evalúa el polinomio obtenido para estimar valores de la función entre los dos puntos disponibles.
fácil, ya que solamente se hace el cálculo de trayectoria de dos puntos. Entre más pequeño sea el intervalo entre dos puntos, más exacta será la aproximación.
tamiento no corresponde al de una línea recta los valores calculados no son correctos. Por interconectar dos puntos en línea recta, los resulta-dos no se ajustan con exactitud.
Para que el resultado sea eficiente, estos polinomios deben mantener continuidad en la función, la derivada primera y la derivada segunda, en cada uno de estos puntos límites. Este tipo de interpolación que ha demostrado poseer una gran finura y que inclusive es usado para el diseño asistido por computadora, por ejemplo, de tipos de letra. Esta interpolación se llama interpolación segmentaria ointerpolación por splines. VIII.
RECOMENDACIONES
Es recomendable utilizar el comando predefinido de Matlab para encontrar los coeficientes que se crea en el proceso de resolución de splines, para evitar errores ya que el programa posee muchas variables. Se recomienda que al resolver un ejercicio de aplicación de Splines, se desarrollen enteramente para visualizar de mejor manera los resultados, además de que de esta manera la comparación con el programa de Matlab será más optima.
Fig.15. Gráficas correspondientes a la interpolación con el método de Lagrange con 4, 5 y 10 puntos.
Es mucho más recomendable utilizar el spline cúbica que el lineal o el cuadrático, dado que se obtiene un error mucho menor debido a que utiliza una mayor cantidad de ecuaciones y los polinomios obtenidos son de mayor grado.
REFERENCIAS [1] Chapra S., Canale R., (2007). Métodos Numéricos para Ingenieros.(5ta ed) México: McGraw-Hill [2] Nieves A., Dominguez F., (2007). Métodos Numéricos aplicados a la Fig.16.Gráficas correspondientes a la interpolación utilizando el método de Splines cúbicas naturales con 4, 5 y 10 puntos.
Vemos que la interpolación con 5 puntos es muy buena, pero con 10, se obtiene una interpolación perfecta. VII. CONCLUSIONES Las interpolaciones con polinomios sufren de un problema básico, y es la aparición de grandes oscilaciones espúreas, especialmente si el grado del polinomio es alto. Una forma alternativa de obtener funciones interpoladoras, es dividiendo el intervalo en sucesivos intervalos, y generar polinomios de bajo grado en cada uno de estos intervalos. Esto se llama aproximación polinomial por piezas.
Ingeniería. (6ta ed) México: McGraw-Hill [3] Universidad de Granada - Biblioteca en línea. España. (en línea) Disponible en:http://www.ugr.es/~prodelas/AnNumCaminos/ftp/ Tema6.htm [4] Universidad de los Andes – Biblioteca en línea. Interpolación. Colombia. (en línea) Disponible en: http://wwwprof.uniandes.edu.co/~gprieto /classes/compufis/interpolacion.pdf [5] Alberto Bengoa Moreno, Fernando Díaz Gestal – Splines – España(en línea) Disponible en:http://sabia.tic.udc.es/gc/teoria/Curvas/HTML/ TrabajoGC.htm#_Toc881652 [6]Carlos González MorcilloSplines: Curvas y Superficie - Escuela Superior de
informática
–
España.
(en
línea)
Disponible
en:http://www.esi.uclm.es/www/cglez/download/docencia/AC/splines.pdf [7]TomiTejada,Joaquin Sanz, Pablo Perianes- Spline-Ejercicios-Universidad Politécnica
de
Madrid
-
España.
(en
en:http://interpolacion.wikidot.com/spline-ejercicios
línea)
Disponible