UNIVERSIDAD POLITÉCNICA SALESIANA
1
Interpolación Segmentaria de primer orden
(Splines lineales)
OBJETIVO PRINCIPAL
Generar y aplicar las características, conceptos, atributos y condiciones del tema en estudio,
en este caso SPLINES DE 1ER ORDEN para lograr el entendimiento del tema y aplicarlo en
el campo de estudio actual.
OBJETIVOS SECUNDARIOS
Captar claramente las ecuaciones y postulados para su uso coherente.
Entender la secuencia de pasos que usan los autores de los textos de donde extraemos
los contenidos del tema.
Analizar cada estructura lógica y aplicarla de manera que el usuario identifique cada
uno de los parámetros contenidos dentro de la práctica.
INTRODUCCION
De un conjunto de puntos en un plano, pueden existir varias funciones que unan dichos
puntos. Este tipo de funciones nos ayuda a modelar sistemas físicos.
Dichas funciones se pueden obtener por diversos métodos, y nos ayudan a calcular
valores intermedios entre el conjunto de punto dado; a este proceso, se lo llama
interpolación.
La interpolación lineal es el método más simple en uso hoy. Es el método usado por los
programas de generación de gráficas, donde se interpola con líneas rectas entre una serie de
puntos que el usuario quiere graficar.
La idea básica es conectar los 2 puntos dados en xi, es decir (x0, y0) y (x1, y1).
La función interpolante es una línea recta entre los dos puntos. Para cualquier punto entre los
dos valores de x0 y x1 se debe seguir la ecuación de la línea
𝑦 − 𝑥0
𝑦1 − 𝑦0=
𝑥 − 𝑥0
𝑥1 − 𝑥0
que se puede derivar geométricamente.
En lo anterior, el único valor desconocido es y, que representa el valor desconocido para x,
despejando queda:
𝑦 = 𝑦0 + (𝑥 − 𝑥0)𝑦1 − 𝑦0
𝑥1 − 𝑥0
donde se asume que x0 < x < x1, de otra forma esto se conocería como extrapolación.
UNIVERSIDAD POLITÉCNICA SALESIANA
2
Si se tienen más de dos puntos para la interpolación, es decir N > 2, con puntos x0, x1, · · ·,xN,
simplemente se concatena la interpolación lineal entre pares de puntos continuos.
𝑙0(𝑥) =𝑥 − 𝑥1
𝑥0 − 𝑥1)
𝑙1(𝑥) =𝑥 − 𝑥0
𝑥1 − 𝑥0
𝑝(𝑥) = 𝑓(𝑥0)𝑙0(𝑥) + 𝑓(𝑥1)𝑙1(𝑥) = 𝑓(𝑥0)𝑥 − 𝑥1
𝑥0 − 𝑥1+ 𝑓(𝑥1)
𝑥 − 𝑥0
𝑥1 − 𝑥0
=𝑓(𝑥0)(𝑥 − 𝑥1) − 𝑓(𝑥1)(𝑥 − 𝑥0)
𝑥0 − 𝑥1= 𝑓(𝑥0) +
𝑓(𝑥1) − 𝑓(𝑥0)
𝑥1 − 𝑥0(𝑥 − 𝑥0)
Este es el caso familiar de interpolación lineal escrita en alguna de sus multiples formas
equivalentes.
Los splines de primer grado son funciones polinomiales de grado 1 (Rectas de la forma
f(x)= ax+b) que se encargan de unir cada par de coordenadas mediante una recta
Ahora tenemos los n+1 puntos entonces
X X0 X1 X2 …….. Xn
Y Y0 Y1 Y2 …….. Yn
Una función Spline degrado 1 que interpole los datos es simplemente unir cada uno de los
puntos (Par coordenados) mediante segmentos de recta, como se ilustra en las siguientes
figuras
Claramente esta función cumple con la condición de la Spline de grado 1. Por lo que en este
caso tenemos lo siguiente
UNIVERSIDAD POLITÉCNICA SALESIANA
3
𝑆(𝑥) = {
𝑆0(𝑥) = 𝑎0(𝑥) + 𝑏0 … … … 𝑥 ∈ (𝑡0, 𝑡1)
𝑆0(𝑥) = 𝑎1(𝑥) + 𝑏1 … … … 𝑥 ∈ (𝑡1, 𝑡2)… … . .
𝑆𝑛−1(𝑥) = 𝑎𝑛−1(𝑥) + 𝑏𝑛−1 … … … 𝑥 ∈ (𝑡𝑛−1, 𝑡𝑛)
𝑆(𝑥) = {
𝑆0(𝑥) = 𝑎0(𝑥) + 𝑏0 … … … 𝑥 ∈ (𝑥0, 𝑥1)
𝑆0(𝑥) = 𝑎1(𝑥) + 𝑏1 … … … 𝑥 ∈ (𝑥1, 𝑥2)… … . .
𝑆𝑛−1(𝑥) = 𝑎𝑛−1(𝑥) + 𝑏𝑛−1 … … … 𝑥 ∈ (𝑥𝑛−1, 𝑥)
Donde tenemos lo siguiente
1. Sj(x) es un polinomio de grado menor o igual que 1
2. S(X) tiene derivada continua de orden k-1=0
3. S(xj)=Yj, para j=0,1,2,…,n
Por lo tanto el Spline de grado 1 queda definido de la siguiente manera
𝑺(𝒙) = {
𝒚𝟎 + 𝒇[𝒙𝟏, 𝒙𝟐](𝒙 − 𝒙𝟎) 𝒔𝒊 𝒙 ∈ [𝒙𝟎, 𝒙𝟏]
𝒚𝟏 + 𝒇[𝒙𝟐, 𝒙𝟏](𝒙 − 𝒙𝟏) 𝒔𝒊 𝒙 ∈ [𝒙𝟏, 𝒙𝟐]
𝒚𝒏−𝟏 + 𝒇[𝒙𝒏, 𝒙𝒏−𝟏](𝒙 − 𝒙𝒏−𝟏) 𝒔𝒊 𝒙 ∈ [𝒙𝒏−𝟏, 𝒙𝒏]
Donde 𝒇[𝒙𝒊, 𝒙𝒋] es la diferencia dividida de Newton
Además tenemos que la pendiente de la línea recta donde se unen los 2 puntos es
𝑚𝑖 =𝑓(𝑥𝑖 + 1) − 𝑓(𝑥𝑖)
𝑥𝑖 + 1 − 𝑥𝑖
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 abscisas 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:
UNIVERSIDAD POLITÉCNICA SALESIANA
4
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
UNIVERSIDAD POLITÉCNICA SALESIANA
5
Segundo código de MATLAB
(polyinterp.m) funtion v = polyinterp(x,y,u,n) % Polinomial interpolation % Input % x - vector of tabulated position of data % y - vector of values at points x_i % u - vector with x positions where interpolation is wanted % n - degree of polinomial interpolation % % Output % v - vector with values at points u_j % ... v = zeros(size(u)); for k = 1:n w = ones(size(u)); for j = [1:k-1 k+1:n] w = (u-x(j))./(x(k)-x(j)).*w; end v = v + w*y(k); end
Ejemplos de aplicación
Ejemplo 1
Midiendo la temperatura ambiente a distintas horas del día hemos obtenido la siguiente
tabla
Hora 6 8 10 12 14 16 18 20
Grados 7 9 12 18 21 19 15 10
UNIVERSIDAD POLITÉCNICA SALESIANA
6
4 6 8 10 12 14 16 18 20 226
8
10
12
14
16
18
20
22
Hora
Grados
Datos de temperatura ambiente
Sea T=f(t) la función (desconocida) que da la temperatura ambiente en cada instante
t. Para estimar la temperatura en un instante t que no aparece en la tabla, aproximaremos
la función f mediante polinomios de interpolación. Estos polinomios se determinan
exigiendo que coincidan con f en alguno de los valores tabulados. Si exigimos que pase por
dos puntos, obtenemos una recta, o sea un polinomio de grado 1. Si hacemos que pase por
tres puntos, queda un polinomio de grado 2, y así sucesivamente podemos ir añadiendo
puntos e incrementando el grado.
Solución
El modo más simple de estimar la temperatura a las 13 horas es tomar la media
entre las temperaturas de las 12h y las 14h, que es de 19.5º. Para otros instantes en el
mismo intervalo tomamos una media ponderada, o geométricamente hablando, la
ordenada de la recta que pasa por (12,18) y por (14,21). La ecuación general de la recta es
P1(x) = a0 + a1x. Exigiendo que pase por los puntos (x0, y0) y (x1, y1) obtenemos un sistema
de ecuaciones lineales
a0 + a1x0 = y0
a0 + a1x1 = y1
cuya solución da los coeficientes de la recta buscada.
En nuestro ejemplo tenemos el sistema
a0 + 12a1 = 18
a0 + 14a1 = 21
cuya solución es a0 = 0 y a1 = 3/2.
UNIVERSIDAD POLITÉCNICA SALESIANA
7
Ejemplo 2
Con los siguientes datos realizar la interpolación segmentaria de primer orden y evaluar en
x=5
X Fx
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Solución
Los datos se pueden usar para determinar las pendientes entre los puntos. Por ejemplo en el
intervalo x=4.5 a x=7, la pendiente se puede calcular así
𝑚 =2.5 − 1
7.0 − 4.5
𝑚 = 0.60
Por lo que para x=5 la función será
𝑓(𝑥) = 𝑓(4.5) + 0.60(𝑥 − 4.5)
𝑓(𝑥) = −1.7 + 0.6𝑥
Y evaluado en x=5
𝑓(5) = 𝑓(4.5) + 0.60(5 − 4.5)
𝑓(5) = 1.3
Ejemplo 3
Calcular el spline de primer orden usando los siguientes datos:
UNIVERSIDAD POLITÉCNICA SALESIANA
8
Solución
Donde:
Sustituyendo arriba queda definido como sigue:
)()()()()( 3321100 xlyxlyxlyxlyxf
)(3)(2)()(2)( 3210 xlxlxlxlxf
48
)7)(5)(3(
)6)(4)(2(
)7)(5)(3()(0
xxxxxxxl
16
)7)(5)(1(
)4)(2)(2(
)7)(5)(1()(1
xxxxxxxl
16
)7)(3)(1(
)2)(2)(4(
)7)(3)(1()(2
xxxxxxxl
48
)5)(3)(1(
)2)(4)(6(
)5)(3)(1()(3
xxxxxxxl
16
)5)(3)(1(
8
)7)(3)(1(
16
)7)(5)(1(
24
)7)(5)(3()(
xxxxxxxxxxxxxf
UNIVERSIDAD POLITÉCNICA SALESIANA
9
Ejemplo 4
Calcular la tabla de diferencias divididas finitas con los siguientes datos:
Solución
Por lo tanto el polinomio de interpolación
Ejemplo 5
La tabla siguiente muestra los valores de la función (la función de Bessel de primera clase
de orden cero) en varios puntos.
x f(x)
1.0 0.7651977
1.3 0.6200860
1.6 0.4554022
1.9 0.2818186
2.2 0.1103623
))(2)(3(20238.0)2)(3(66667.1)3(35)( xxxxxxxf
UNIVERSIDAD POLITÉCNICA SALESIANA
10
a. Construir la tabla de diferencias divididas hasta orden tres.
b. Utilizar la información del apartado anterior para construir el polinomio
interpolador que pasa por los puntos anteriores.
c. Obtener el valor aproximado de la función Spline en el punto 1.5.
Solución
En la tabla siguiente presentamos las diferencias divididas obtenidas:
i
0 1.0 0.7651977
-0.4837057
1 1.3 0.62200860 -0.1087339
-0.5489460 0.0658784
2 1.6 0.4554022 -0.0494433 0.0018251
-0.5786120 0.0680685
3 1.9 0.2818186 0.0118183
-0.5715210
4 2.2 0.1103623
Los coeficientes del polinomio interpolador se encuentran en la diagonal de la tabla, por
tanto el polinomio buscado es:
𝑝4(𝑥) = 0.7651977 − 0.487057(𝑥 − 1.0) − 0.187339(𝑥 − 1.0)(𝑥 − 1.3)+ 0.0658784(𝑥 − 1.0)(𝑥 − 1.3)(𝑥 − 1.6) + 0.0018251(𝑥 − 1.0)(𝑥− 1.3)(𝑥 − 1.6)(𝑥 − 1.9)
Por lo que:
𝑝4(1.5) = 0.5118200
UNIVERSIDAD POLITÉCNICA SALESIANA
11
Aplicaciones
Dentro de la ciencia y la tecnología tenemos varias aplicaciones donde podemos encontrar el
uso de SPLINES, prácticamente podemos decir que el momento de crear cualquier nuevo
producto, artefacto, edificio, electrodoméstico, etc. Estamos dando uso al diseño mediante
SPLINES. A continuación las principales aplicaciones de este método matemático.
Ingeniería y Diseño (CAD/CAM, CNC’s)
Geología
Aeronáutica y automoción
Economía
Procesamiento de señales e imágenes (Reconocimiento de patrones,
recuperación de imágenes)
Robótica
Medicina (Aparatos auditivos, mapas cerebrales)
Meteorología (Mapas climáticos, detección de inundaciones,...)
Mundo Virtual Distribuido Multiusuario
Diseño asistido por computadora: por ejemplo, de tipos de letra.
Conclusiones
La interpolación segmentaria nos da una forma matemática de ver las cosas, el diseño
de los cuerpos están dados desde las ecuaciones más simples hasta ecuaciones en el
espacio que nos dirigen a un sistema de orientación optima y ordenada de la
recreación de un cuerpo o estructura.
A partir de cualquier ecuación sea esta lineal o de orden superior podemos distinguir
la relación entre las distintas formas geométricas y/o ecuaciones conocidas dentro del
estudio de cónicas, rectas, paralelogramos, polígonos y obviamente los polinomios.
Debemos recordar que el uso del SOFTWARE MATLAB nos una perspectiva casi
real de la construcción de los cuerpos mediante las ecuaciones propuestas por los
usuarios, vale también resaltar que MATLAB nos permite recrear estas ecuaciones
de manera matemática o geométrica para el entendimiento adecuado de los sistemas
de ecuaciones realizados.
Recomendaciones
Una buena recomendación que damos en esta práctica es el uso adecuado de
MATLAB esta herramienta es prácticamente el 80% de todos los cálculos y
operaciones en este tema, donde se debe revisar cuidadosamente la sintaxis de las
líneas de programación.
Al momento de recrear cualquier cuerpo o solido mediante SPLINES tomemos en
cuenta cada rasgo y componente del mismo para así encontrar la simetría buscada.
En muchos casos podemos confundir los resultados obtenidos mediante el método
de interpolación segmentaria usada para representar el crecimiento o la propagación
UNIVERSIDAD POLITÉCNICA SALESIANA
12
de una curva con los resultados obtenidos mediante el uso de herramientas de
probabilidad o estadística, pero el modelo matemático usado en la interpolación
segmentaria nos da la posibilidad de usar puntos arbitrarios sin ningún patrón a
seguir a diferencia de la probabilidad o estadística que necesita una base lógica y un
crecimiento de acuerdo a esta base.
Bibliografía
Internet
Página web destinada a compartir documentos de interés social y educativo en
formatos conocidos como WORD, EXCEL, etc. Contribuye con la comunidad
estudiantil de todo el mundo con varios elementos y artículos realmente interesantes
URL: http://www.ilustrados.com/documentos/eb-splines%20cubicos.pdf
Portal web destinado a compartir todo tipo de artículos y proyectos educativos, con
la finalidad de promover el libre conocimiento entre los usuarios de todo el mundo.
Tiene varios miles de usuarios que suben y descargan estos artículos educativos,
vale agregar que todos son artículos hechos por los mismos usuarios por lo que no
se viola ningún derecho de autor
URL: http://es.scribd.com/doc/101081065/Interpolacion-segmentaria-lineal#download
Página web de la universidad ANDES de Colombia. Varios libros compartidos para
el uso de la comunidad estudiantil
URL: http://wwwprof.uniandes.edu.co/~gprieto/classes/compufis/interpolacion.pdf
El motor de búsqueda mas usado en todo el mundo, publica libros con los derechos
de sus autores con el fin de que los usuarios sigan este ejemplo y no usen la
piratería. En este caso tenemos un excelente libro Métodos numéricos con
Matlab Escrito por Alicia Cordero Barbero (paginas 220-250)
URL:
http://books.google.com.ec/books?id=xQdP_z4ateoC&pg=PA232&lpg=PA232&dq=splines
+lineales+matlab&source=bl&ots=SIN9ciPFZT&sig=NwdbCOyk9e_6AeTiaEPOcl0P62A&hl=
es&sa=X&ei=eoHLUtz1NYrakQer44BQ&ved=0CDUQ6AEwAg#v=onepage&q=splines%20lin
eales%20matlab&f=false
UNIVERSIDAD POLITÉCNICA SALESIANA
13
Libros
Introducción al análisis numérico Anthony Ralston
Editorial México
Limusa-Wiley, SA 1970
Primera Edición 1970
Análisis Numérico Francis Scheid, Ph. D
Primera Edición
Análisis Numérico Richard L Burden
J. Douglas Faires
Séptima Edición
pag 104
Análisis Numérico S.D. Conte- Carl de Boor
Segunda Edición
pag 108
Análisis Numérico Curtis F. Gerald
Segunda Edicion
Ediciones Alfaomega, S.A de CV
pag 205
Top Related