UNIVERSIDAD POLITÉCNICA SALESIANA

13
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.

Transcript of UNIVERSIDAD POLITÉCNICA SALESIANA

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