Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TRABAJO PREPARATORIO
I. I NTRODUCCI ON
El ajuste de curvas nos ayuda a obtener estimaciones de funciones a partir de un conjunto de valores discretos, o para
obtener versiones simplificadas de funciones complicadas mediante el calculo de valores de la funcion complicada en un
numero discreto de valores en el intervalo de interes.
Para realizar los ajustes de curvas existen varios metodos de interpolacion, que sirven para calcular valores intermedios de un
conjunto de datos, uno de estos es el metodo de interpolacion mediante trazadores o splines, que realiza un ajuste de curvas
mediante el acoplamiento de polinomios de grados pequenos en un conjunto de datos, estos metodos son de suma importancia
en el analisis de datos en el campo de la ingeniera debido a su utilidad al realizar predicciones en el comportamiento de
sistemas complejos, analisis de tendencias o para realizar pruebas de hipotesis en el ajuste de curvas experimentales. [2]
La interpolacion mediante trazados(splines) consiste en dividir el intervalo original en pequenos subintervaloes en los que
se generaran polinomios de grado bajo, que son relativamente mas faciles de analisar que un polinomio de grado alto para
toda la funcion. Ver Figura 1.
f (x) = f (x0 ) + m0 (x x0 ) x0 x x1
f (x) = f (x1 ) + m1 (x x1 ) x1 x x2
..
.
f (x) = f (xn1 ) + mn1 (x xn1 ) xn1 x xn
donde mi es la pendiente de la lnea recta que une los puntos:
f (xi+1 ) f (xi )
mi = (1)
xi+1 xi
Estas ecuaciones se pueden usar para evaluar la funcion en cualquier punto entre x0 y xn localizando primero el intervalo
dentro del cual esta el punto. Despues se usa la ecuacion adecuada para determinar el valor de la funcion dentro del intervalo.
El metodo es practimente identico al de la interpolacion lineal
Como podemos observar en la Figura 2, se muestra una representacion visual de varios polinomios de interpolacion, y donde
podemos observar como es que el trazado d) tiene una mejor aproximacion, realizado mediante splines de primer grado.
La principal desventaja de los splines lineales es que no son suaves, en esencia, en los puntos donde se encuantran dos
splines, llamado nodo, la pendiente camvia de forma abrupta. Formalmente, la primera derivada de la funcion es discontinua
en esos puntos. Esta deficiencia se resuelve usando splines polinomiales de grado superior, que aseguren suavidad en los nodos
al igualar las derivadas en esos puntos.
Ejemplo 1: En el siguiente ejercicio, se realizara un ajuste por medio de splines de primer grado a un conjunto de datos.
Cuadro I
DATOS PARA AJUSTE CON SPLINES DE PRIMER GRADO
x f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Para n + 1 datos (i = 0, 1, 2, , n) existen n intervalos y, por lo tanto se requeriran 3n constantes desconocidas (a, b, c)
por evaluar. Estas condiciones son:
1. Los valores de la funcion de polinomios deyacentes deben ser iguales en los nodos interiores.
ai1 x2i1 + bi1 xi1 + ci+1 = f (xi+1 ) (4)
ai x2i1 + bi xi1 + ci = f (xi1 ) (5)
para i = 2 hasta n. Como solo se emplean nodos interiores, las ecuaciones (4) y (5) proporcionan, cada una n 1
condiciones; en total, 2n 2 condiciones.
2. La primera y la ultima funcion deben pasar a traves de los puntos extremos. Esto agrega dos ecuaciones mas.
a1 x20 + b1 x0 + c1 = f (x0 ) (6)
an x2n + bn xn + cn = f (xn ) (7)
en total tenemos 2n 2 + 2 = 2n condiciones.
3. Las primeras derivadas en los nodos interiores deben ser iguales. La primera derivada de la ecuacion (3) es
f 0 (x) = 2ax + b
Por lo tanto, de manera general la condicion se representa como
2ai1 xi1 + bi1 = 2ai xi1 + bi (8)
para i = 2 hasta n. Esto proporciona otras n 1 condiciones, llegando a un total de 2n + n 1 = 3n 1. Como se
tienen 3n incognitas, nos falta una condicion mas. A menos que tengamos alguna informacion adicional respecto de las
funciones o sus derivadas.
4. Suponemos que en el primer punto la segunda derivada es cero. Como la segunda derivada de la ecuacion (3) es 2ai ,
entonces esta condicion se puede expresar matematicamente como
a1 = 0 (9)
La interpretacion visual de esta condicion es que los dos primeros puntos se uniran con una lnea recta.
Observando la Figura 4. podemos apreciar el ajuste de una curva mediante el uso de splines, donde se diferencian los metodos
de primer, segundo y tercer grado, mejoracndo respectivamente su precision.
Figura 4. Comparacion interpolacion por splines de primer, segundo y tercer grado.
Ejemplo 2: Realizar un ajuste de los tados del Cuadro 2. mediante interpolacion de splines cuadraticos.
Cuadro II
DATOS PARA AJUSTE CON SPLINES DE PRIMER GRADO
x f(x)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Tenemos tres intervalos [3,0; 4,5], [4,5; 7,0], [7,0; 9,0] y para cada uno de estos intervalos debemos definir una funcion
cuadrpatica. As que se deben formar las siguientes ecuaciones:
s(3) =2,5 9a1 + 3b1 + c1 = 2,5
(4,5)2 a1 + 4,5b1 + c1 = 1
s(4,5) = 1
(4,5)2 a2 + 4,5b2 + c2 = 1
49a2 + 7b2 + c2 = 2,5
s(7) = 2,5
49a3 + 7b3 + c3 = 2,5
s(9) = 0,5 81a3 + 9b3 + c3 = 0,5
Tenemos hasta ahora seis ecuaciones con nueve incogintas.
Necesitamos que el trazo tenga derivada continua de primer orden.
2a1 x + b1 si x [3,0; 4,5]
s0 (x) = 2a2 x + b2 si x [4,5; 7,0]
2a3 x + b3 si x [7,0; 9,0]
Suponemos que en primer puntos, la segunda derivada es cero. Como la segunda derivada de la ecuacion es 2a, entonces
podemos decir que a1 = 0, por lo que quedariamos con un total de 8 ecuaciones, las expresamos de forma matricial de la
siguiente manera.
4,5 1 0 0 0 0 0 0 b1 1
0 0 20,25 4,4 1 0 0 0
c1
1
0 0 49 7 1 0 0 0
a2
2,5
0 0 0 0 0 49 7 1 b2
= 2,5
(10)
3 1 0 0 0 0 0 0
c2
2,5
0 0 0 0 0 81 9 1
a3
0,5
1 0 9 1 0 0 0 0 b3 0
0 0 14 1 0 14 1 0 c3 0
Obtenemos la siguiente solucion
b1 = 1 a2 = 0,64 a3 = 1,6
c1 = 5,5 b2 = 6,76 b3 = 24,6
a1 = 0 c2 = 18,46 c3 = 91,3
Sustituimos estos valores en las ecuaciones cuaraticas originales, obtenemos la siguiente relacion para cada intervalo.
x + 5,5 si x [3,0; 4,5]
s(x) = 0,64x2 6,76x + 18,46 si x [4,5; 7,0]
1,6x2 + 24,6x 91,3 si x [7,0; 9,0]
6 6
= [f (xi+1 ) f (xi )] + [f (xi1 ) f (xi )]
xi+1 xi xi xi1
Si la ecuacion (14) se escribe para todos los nodos interiores, se obtienen n 1 ecuaciones simultaneas con n + 1 segundas
derivadas desconocidas, pero como es un spline natural, las segundas derivadas en los extremos de los nodos son cero y el
problema se reduce a n 1 ecuaciones con n 1 incognitas.
Organizando estas ecuaciones de manera simple obtenemos
fi00 (xi1 ) fi00 (xi ) f 00 (xi1 )(xi xi1 )
f (xi1 )
fi (x) = (xi x)3 + (x xi1 )3 + (xi x) (15)
6(xi xi1 ) 6(xi xi1 ) xi xi1 6
di A
x , 1 2 4 6 8 10
dt s
f (x) VL ,V 5.5 12.5 17.5 32 38 49
El primer paso consiste en usar la ecuacion (14) para generar el conjunto de ecuaiones simultaneas que se utilizaran para
derterminar las segundas derivadas en los nodos. Para el primer nodo utilizamos los siguientes datos:
x0 = 1 f (x0 ) = 5,5
x1 = 2 f (x1 ) = 12,5
x2 = 4 f (x2 ) = 17,5
Reemplazando estos valores en la ecuacion (14):
6 6
(2 1)f 00 (1) + 2(4 1)f 00 (2) + (4 2)f 00 (4) = (17,5 12,5) + (5,5 12,5)
42 21
Tomando en cuenta la condicion de trazador natural, f 00 (1) = 0, y la ecuacion se reduce a:
6f 00 (2) + 2f 00 (4) = 27 (16)
Realizamos el mismo procedimiento con el siguiente intervalo:
6 6
(4 2)f 00 (2) + 2(6 2)f 00 (4) + (6 4)f 00 (6) = (32 17,5) + (12,5 17,5)
64 42
Simplificando
2f 00 (2) + 8f 00 (4) + 2f 00 (6) = 28,5 (17)
Realizamos el mismo procedimiento con el siguiente intervalo:
6 6
(6 4)f 00 (4) + 2(8 4)f 00 (6) + (8 6)f 00 (8) = (38 32) + (17,5 32)
86 64
Simplificando
2f 00 (4) + 8f 00 (6) + 2f 00 (8) = 25,5 (18)
Realizamos el mismo procedimiento con el siguiente intervalo:
6 6
(8 6)f 00 (6) + 2(10 6)f 00 (8) + (10 8)f 00 (10) = (49 38) + (32 38)
10 8 86
Tomando en cuenta la condicion de trazador natural, f 00 (10) = 0, y la ecuacion se reduce a:
2f 00 (6) + 8f 00 (8) = 15 (19)
Obtenemos las ecuaciones (16), (17), (18), (19) simulataneas, de donde obtenemos los siguientes valores
f 00 (2) = 6,72059
00
f (4) = 6,66176
f 00 (6) = 5,67647
f 00 (8) = 3,29412
Con estos valroes, y reemplazando cada valor en la ecuacion (15) obtendremos las cuatro funciones cubicas splines para
representar una aproximacion de los datos originales.
Para f 00 (2) = 6,72059
f1 (x) = 1,1201(x 1)3 + 5,5(2 x) + 13,6201(x 1)
Para f 00 (4) = 6,66176
f2 (x) = 0,5600(4 x)3 + 0,555(x 2)3 + 8,4902(4 x) + 6,52941(x 2)
Para f 00 (6) = 5,67647
f3 (x) = 0,555(6 x)3 0,473(x 4)3 + 6,529(6 x) + 17,9822(x 4)
Para f 00 (8) = 3,29412
f4 (x) = 0,473(8 x)3 + 0,2745(x 6)3 + 17,9822(8 x) + 17,902(x 6)
Para f 00 (10) = 0
f5 (x) = 0,2745(10 x)3 + 17,902(10 x) + 24,5(x 8)
Cada ecuacion corresponde a cada intervalo para realizaer los diferentes trazos, se puede apreciar esto en la representacion
grafica a continuacion.
para cualquier funcion g(x) C 2 ([x0 , xn ]) que interpole a f en los nodos xi , i = 0, 1, 2, , n y con los datos de contorno
del tipo de los de s(x).
Para interpretar graficamente esta propiedad de minimizacion consideramos la curvatura de la funcion f en x, que viene dad
por
f 00 (x)
(x) =
3
(1 + f 0 (x)2 ) 2
Si f 0 (x) es pequeno comparado con 1, (x) f 00 (x) y por tanto
Z xn Z xn
((x))2 dx (f 00 (x))2 dx
x0 x0
Rx
Esto es, la medida de la curvatura total de f en el intervalo [x0 , xn ] e puede aproximar por x0n (f 00 (x))2 dx. En clave de este
concepto geometrico podemos interpretar la propiedad external diciendo que el spline cubico de interpolacion adopta la forma
que, pasando por los puntos prescritos, minimiza la energa de deformacion haciendo alusion a la regla elastica que da nombre
a las funciones spline.
VII. E STUDIO DEL E RROR
3 !1
Z b 2
|E(x)| h 2 f 00 (t)dt x [a, b],
a
c-spline
El c-spline, dentro de matlab se refiere a una interpolacion mediante trazados o splines de grado cubico. [1]
Su notacion es:
yy = spline(x, Y, xx)
donde x es el numero de puntos de la funcion, Y es el valor de cada punto de la funcion y xx son los valores de la funcion
Y en cada itnerpolacion.
Ejemplo 4: Determine la funcion que se ajusta a los datos
xx=[-1 -0.86 -0.5 0 0.5 0.86 1 1 1.04 1.15 1.3 1.54 1.82 2.17 2.58 3.08]
yy=[0 -0.25 -0.43 -0.5 -0.43 -0.25 0 0 0.15 0.25 0.3 0.3 0.3 0.3 0.3 0.3]
Utilizamos s como parametro y ajustamos funciones spline por separado a x y y como funciones de s
function spline1 ()
clear , c l f , hold o f f
xx =[1 0.86 0.5 0 0 . 5 0 . 8 6 1 1 1 . 0 4 1 . 1 5 1 . 3 1 . 5 4 1 . 8 2 2 . 1 7 2 . 5 8 3 . 0 8 ] ;
yy = [ 0 0.25 0.43 0.5 0.43 0.25 0 0 0 . 1 5 0 . 2 5 0 . 3 0 . 3 0 . 3 0 . 3 0 . 3 0 . 3 ] ;
s = 1 : l e n g t h ( xx ) ; s p = 1 : ( l e n g t h ( xx ) / 1 0 0 ) : l e n g t h ( xx ) ;
xp= s p l i n e ( s , xx , s p ) ;
yp= s p l i n e ( s , yy , s p ) ;
clf
p l o t ( xp , yp , r ) ; h o l d on
p l o t ( xx , yy , o ) ; x l a b e l ( x ) ; y l a b e l ( y ) ;
hold o f f
El resultado grafico de la interpolcion se muestra a continuacion.
Ejemplo 4. Ajuste de curva con comando spline() Matlab.
IX.
C ONCLUSIONES
1. En comparacion con otros metodos de interplacion, el uso de trazas o splines genera una gran sencillez al momento de
ajuste de curvas, debido a que solo trabaja con polinomios de bajo orden.
2. Debido a que este metodo trabaja segun intervalos, un procedimiento a mano esta ligado al numero de puntos ya que
mientras mas datos se tenga, mas funciones se deberan generar, por lo que se convierte en un trabajo tedioso, sin embargo
si se realiza el procedimiento en un programa computacional, sera de gran ayuda tanto en velocidad como en precision.
3. Es muy recomendable utilizar este metodo si al usar diferentes como Lagrange o Newton, se generan polinomios de
grados muy altos, que tienen problema al analizarse debido a su poca estabilidad y variaciones rapidas.
R EFERENCIAS
[1] Sh. Nakamura (1997) Analisis Numerico y Visualizacion grafica con matlab Prentice Hall Hispanoamericana S.A. ISBN: 978-96-8880-8603
[2] S. Chapra (2007) Metodos Numericos para Ingenieros 5ta Edicion. McGraw-Hill ISBN: 970-10-6114-4
[3] A. Nieves (2006) Metodos Numericos aplicados a la Ingeniera, 2da Edicion. Editorial Continental. ISBN: 970-24-0258-1
[4] Anonimo Interpolacion Spline, [Online] Recuperado de: http://www.ugr.es/prodelas/AnNumCaminos/ftp/Tema6.htm
[5] Wikipedia.org Metodo de Interpolacion Recuperado de:https://es.wikipedia.org/wiki/M%C3%A9todo de interpolaci%C3%B3n
[6] J. Romero, M. Ortega (1999) SPLINES GENERALIZADOS Y SOLUCION NODAL EXACTA EN EL METODO DE ELEMENTOS FINITOS, [Online]
Recuperado de: http://informesdelaconstruccion.revistas.csic.es/index.php/informesdelaconstruccion/article/viewFile/872/1116