0% encontró este documento útil (0 votos)
70 vistas19 páginas

Introducción a Splines en Interpolación

Este documento introduce los splines y su uso para la interpolación de datos. Los splines son funciones polinomiales por tramos que se utilizan comúnmente en ingeniería para representar curvas suaves. El documento explica que los splines se desarrollaron originalmente en la década de 1950 para modelar superficies de automóviles y aviones de forma precisa. Luego, describe brevemente otros métodos de interpolación como la interpolación polinómica y de Lagrange. Finalmente, introduce los splines como un método de interpolación segmentaria.

Cargado por

paomilagros
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
70 vistas19 páginas

Introducción a Splines en Interpolación

Este documento introduce los splines y su uso para la interpolación de datos. Los splines son funciones polinomiales por tramos que se utilizan comúnmente en ingeniería para representar curvas suaves. El documento explica que los splines se desarrollaron originalmente en la década de 1950 para modelar superficies de automóviles y aviones de forma precisa. Luego, describe brevemente otros métodos de interpolación como la interpolación polinómica y de Lagrange. Finalmente, introduce los splines como un método de interpolación segmentaria.

Cargado por

paomilagros
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

INTRODUCCION

En este texto se intenta dar una introducción al estudio de las curvas de


interpolación generadas por el ordenador(SPLINE) El término "splines"
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.

Todo este desarrollo comenzó en 1950 por ingenieros que necesitaban


la representación matemática precisa de superficies de forma libre como
las usadas en carrocerías de automóviles, superficies de exteriores
aeroespaciales y cascos de barcos, que pudieran ser reproducidos exacta y
técnicamente en cualquier momento. Los pioneros en estas investigaciones
fueron Pierre Bézier; quien trabajaba como ingeniero en Renault, dio
nombre a un tipo de curvas ampliamente utilizadas hoy en día; las curvas
de Bézier. Y Paul de Casteljau quien trabajaba en Citroën, ambos en
Francia. Bézier y Casteljau trabajaron casi en paralelo, aunque ninguno de
los dos conoció el trabajo que el otro desarrollaba.

A nivel industrial, desde años se trabaja con curvas splines y B-splines.


Desde el inicio de carrocerías para automóviles, pasando por cascos de
embarcaciones hasta llegar a zapatillas deportivas de competición, se
podría decir que todo el sector del diseño utiliza este tipo de curvas. Incluso
se utilizan en las imprentas, proyectos de robótica industrial y micro-
robótica. Los videojuegos y el mundo de la DemoScene no se quedan sin
la aplicación de estas curvas.

El presente estudio trata de informar; aun así sea de pequeña parte


siendo el tema muy amplio, sobre los splines. Desde los conocimientos
más básicos hasta los aplicados en el programa MatLab. Esperando que
sea de ayuda y mantenga preparado al lector.

METODOS NUMERICOS 1
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

OBJETIVOS

 Aprender la interpolación de una función y = f(x), utilizando el método del


splines, por medio de polinomios de grado n, a partir del valor que toma la
función en n puntos determinados.
 Poder hacer uso del splines con su aplicación al Matlap para cursos de
concreto e hidráulica.

 Comprender el concepto de la interpolación para poder utilizar y


programarla

 Aprender los diferentes métodos de interpolación, programarla y llevarla


al campo de aplicaciones de la Ingeniería Civil.

METODOS NUMERICOS 2
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

MARCO TEORICO
INTERPOLACION EN GENERAL

La interpolación polinomial es la base de muchos tipos de integración numérica y

tiene otras aplicaciones teóricas.

En la práctica a menudo tenemos una tabla de datos {(xi,yi), i = 0,1,2,...,n}, obtenida por

muestreo o experimentación. Suponemos que los datos corresponden a los valores de una

función f desconocida ( a veces es conocida, pero queremos cambiarla por una función

más sencilla de calcular). El “ajuste de curvas” trata el problema de construir una función

que aproxime muy bien estos datos (es decir, a f). Un caso particular de ajuste de curvas

es la interpolación polinomial: En este caso se construye un polinomio P(x) que pase por

los puntos de la tabla.

La interpolación polinomial consiste en estimar f (x∗) con P (x∗) si x∗ no está en la tabla pero

se puede ubicar entre los dos valores.

LAS DIVERSAS FORMAS DE AJUSTE DE CURVAS

 Usar un polinomio interpolante. Es el método de propósito general más usado.

 Usar trazadores (splines). Estas son funciones polinomiales a trozos.

 Usar Polinomios trigonométricos en [0,2π]. Son la elección natural cuando la

función f es periódica de periodo 2π.

METODOS NUMERICOS 3
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

 Usar sumas exponenciales. Se usan si conocemos que f presenta decaimiento

exponencial conforme x−→∞. Si los datos son aproximados (“datos experimentales”),

lo conveniente sería usar Mínimos Cuadrados.

DIFERENTES ESTUDIOS QUE ABARCAN LA INTERPOLACION (DIFERENTES A

SPLINE).

INTERPOLACIÓN POLINOMIAL DE NEWTON EN DIFERENCIAS DIVIDIDAS

existe una gran variedad de formas alternativas para expresar una interpolación polinomial.

El polinomio de interpolación de Newton en diferencias divididas es una de las formas

más populares y útiles . Antes de presentar la ecuación general, estudiaremos las versiones

de primero y segundo grados por su sencilla interpretación visual.

INTERPOLACION
LINEAL
ANTES DE CONOCER
DIFERENCIAS
DIVIDIDAS
INTERPOLACION
CUADRATICA

INTERPOLACION LINEAL
La forma más simple de interpolación consiste en unir dos puntos con una línea

recta.
INTERPOLACION CUADRATICA

Si se tienen tres puntos como datos, éstos pueden ajustarse en un polinomio de segundo

grado (también conocido como polinomio cuadrático o parábola).

METODOS NUMERICOS 4
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

FORMA GENERAL DE LOS POLINOMIOS DE INTERPOLACIÓN DE NEWTON

El análisis anterior puede generalizarse para ajustar un polinomio de n-ésimo grado a n +

1 datos. El polinomio de n-ésimo grado es:

fn(x) = b0 + b1(x – x0) + · · · + bn(x – x0)(x – x1)· · ·(x – xn–1)

POLINOMIOS DE INTERPOLACION DE LAGRANGE (DIFERENTE A SPLINE)

El polinomio de interpolación de Lagrange es simplemente una reformulación del

polinomio de Newton que evita el cálculo de las diferencias divididas, y se representa

de manera concisa como.

DONDE

𝑥−𝑥1 𝑥−𝑥0
Version lineal: 𝑓1(𝑥) = 𝑥0−𝑥1 𝑓(𝑥0) + 𝑥1−𝑥0 𝑓(𝑥1)

Vesion de segundo grado:

(𝑥−𝑥1)(𝑥−𝑥2) (𝑥−𝑥0)(𝑥−𝑥2) (𝑥−𝑥0)(𝑥−𝑥1)


𝑓2(𝑥) = (𝑥0−𝑥1)(𝑥0−𝑥2) 𝑓(𝑥0) + (𝑥1−𝑥0)(𝑥1−𝑥2) 𝑓(𝑥1) + (𝑥2−𝑥0)(𝑥2−𝑥1) 𝑓(𝑥2)

COEFICIENTES DE UN POLINOMIO DE INTERPOLACIÓN (DIFERENTE A

SPLINE)

Un método directo para calcular los coeficientes de este polinomio se basa en el hecho

de que se requieren n + 1 puntos para determinar los n + 1 coeficientes. Así, se utiliza un

sistema de ecuaciones algebraicas lineales simultáneas para calcular las a. Por ejemplo ,

suponga que usted desea calcular los coeficientes de la parábola.

METODOS NUMERICOS 5
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

𝐹(𝑋) = 𝑎0 + 𝑎1𝑋 + 𝑎2𝑋2 ………………………(I)

Se requiere de tres puntos: [x0, f(x0)], [x1, f(x1)] y [x2, f(x2)]. Cada uno se sustituye en la

ecuación (I)

𝐹(𝑋0) = 𝑎0 + 𝑎1𝑋0 + 𝑎2(𝑋0)2

𝐹(𝑋1) = 𝑎0 + 𝑎1𝑋1 + 𝑎2(𝑋1)2

𝐹(𝑋2) = 𝑎0 + 𝑎1𝑋2 + 𝑎2(𝑋2)2

De esta manera, las x son los puntos conocidos, y las a las incógnitas. Como hay el

mismo número de ecuaciones que de incógnitas, la ecuación se podría resolver con uno

de los métodos de eliminación de la parte tres.

INTERPOLACION INVERSA(DIFERENTE A SPLINE)

En una nomenclatura implica, los valores de f(x) y x en la mayoría de los problemas de

interpolación son las variables dependiente e independiente, respectivamente. En

consecuencia, los valores de las x con frecuencia están espaciados uniformemente. Un

ejemplo simple es una tabla de valores obtenida para la función f(x) = 1/x.

Seguidamente usando datos, pero que se le ha dado un valor de f(x) y debe determinar

el valor correspondiente de x. Por ejemplo, para los datos anteriores, suponga que se le

pide determinar el valor de x que corresponda a f(x) = 0.3. En tal caso, como se tiene la

función y es fácil de manipular, la respuesta correcta se determina directamente, x = 1/0.3

= 3.3333.A ese problema se le conoce como interpolación inversa

METODOS NUMERICOS 6
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

Sin embargo cuando se invierte las variables no hay garantía de que los valores junto con la

nueva abscisa [las f(x)] estén espaciados de una manera uniforme. Es decir, tendrán la apariencia

de una escala logarítmica, con algunos puntos adyacentes muy amontonados y otros muy

dispersos.

Entonces para no tener problemas una estrategia alterna es ajustar un polinomio de

interpolación de orden n-ésimo, fn(x) , a los datos originales [es decir, con f(x) contra x].

En la mayoría de los casos, como las x están espaciadas de manera uniforme, este

polinomio no estará mal condicionado.

METODOS NUMERICOS 7
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

INTERPOLACIÓN SEGMENTARIA O SPLINES

La construcción de polinomios de interpolación de grado alto aunque justificable teóricamente


plantea muchos problemas. Por un lado, la forma de la función polinómica de grado alto a
menudo no responde al fenómeno debido al gran número de extremos e inflexiones. Por
otro lado, su cálculo es muy complicado, lo que limita su utilidad en análisis numérico. Es
a menudo más conveniente dividir el intervalo de interés en subintervalos más pequeños y
usar en cada subintervalo polinomios de grado relativamente bajo, tratando de que la función
a trozos definida de este modo tenga un aspecto final adecuado al fenómeno que estamos
representando.

La idea central es que en vez de usar un solo polinomio para interpolar los datos, podemos
usar segmentos de polinomios y unirlos adecuadamente para formar nuestra interpolación.
Podemos decir, 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.
Cabe mencionar que entre todas, las splines cúbicas han resultado ser las más
adecuadas.

Claramente esta función cumple con las condiciones de la spline de grado 1. Así, tenemos que
para este caso:

METODOS NUMERICOS 8
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

donde:
i) Sj (x) es un polinomio de grado menor o igual que 1
ii) S(x) tiene derivada continua de orden k-1=0.
iii) Sj(xj ) = y , para j = 0,1,K,n .
Por lo tanto, la spline de grado 1 queda definida como

Donde f[ xi xj] es la diferencia dividida de Newton.

FUNCIONES SPLINES DE GRADO 2: Veamos un ejemplo concreto, consideremos los


siguientes datos:

Procedamos a calcular la interpolación por splines de grado 2. Primero que nada, vemos que se
forman tres intervalos: [3, 4.5], [4.5, 7], [7, 9]
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:

METODOS NUMERICOS 9
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

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. Calculamos primero la primera derivada:

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 = 4.5 y
x = 7 . Por lo tanto para que s¢(x) sea continua, se debe cumplir que:

También debe cumplirse que:

Así, tenemos un total de 8 ecuaciones vs. 9 incógnitas; esto nos da un grado de libertad para
elegir alguna de las incógnitas. Elegimos por simple conveniencia a1 = 0.

De esta forma, tenemos un total de 8 ecuaciones con 8 incógnitas. Estas son las siguientes:

METODOS NUMERICOS 10
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

Este sistema de ecuaciones tiene la siguiente forma matricial:

Se obtiene la siguiente solución:

Sustituyendo estos valores (junto con a1 =0 ), obtenemos la función spline cuadrática que
interpola la tabla de datos dada:

METODOS NUMERICOS 11
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

La gráfica que se muestra a continuación, contiene tanto los puntos iniciales de la tabla de datos,
así como la spline cuadrática.

El siguiente caso, que es el más importante en las aplicaciones, sigue exactamente los mismos
pasos del ejemplo que acabamos de resolver, solamente que en vez de trabajar con polinomios
cuadráticos, lo hace con polinomios cúbicos.

FUNCIONES SPLINES CUBICAS:


Dados n +1 datos:

Una spline cúbica que interpola estos datos, es una función S(x) definida como sigue:

Donde cada si(x ) es un polinomio cúbico; s i (x i ) = y i , para toda i = 0,1,...,n y tal que s(x) tiene
primera y segunda derivadas continuas en [xo,xn].

METODOS NUMERICOS 12
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

CONCLUSIONES

 La idea central es que en vez de usar un solo polinomio para interpolar los datos,
podemos usar segmentos de polinomios y unirlos adecuadamente para formar
nuestra interpolación.
 Podemos decir, que una función splines está formada por varios polinomios,
cada uno definido en un intervalo y que se unen entre si bajo ciertas condiciones
de continuidad.
 Cabe mencionar que entre todas, las splines cúbicas han resultado ser las más
adecuadas.
 En los problemas de interpolación, se utiliza a menudo la interpolación
mediante splines porque da lugar a resultados similares requiriendo
solamente el uso de polinomios de bajo grado, evitando así las
oscilaciones, indeseables en la mayoría de las aplicaciones, encontradas al
interpolar mediante polinomios de grado elevado.
 Para el ajuste de curvas, los splines se utilizan para aproximar formas
complicadas. La simplicidad de la representación y la facilidad de cómputo
de los splines los hacen populares para la representación de curvas en
informática, particularmente en el terreno de los gráficos por ordenador.

METODOS NUMERICOS 13
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

BIBLIOGRAFIA

 Burden, Richard L.; J. Douglas, Faires (2004). Numerical Analysis. Belmont: Brooks/Cole.
 Spitzbart, A. (enero de 1960). “A Generalization of Hermite's Interpolation Formula”.
 AAVV “Numerical Reciples in C: The art of Scientific Computing”, Ed. Cambridge University
Press, 1992
 P. [Link] of Numerical Analysis. Wiley, New York, 1982.
 J. Stoer, Introduction to Numerical Analysis. 3rd ed. Springer, 2002.

Páginas Web Consultadas:

[Link] Linux_en_castellano-[Link]

[Link]

METODOS NUMERICOS 14
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

ANEXOS
 Ejemplo N° 1

METODOS NUMERICOS 15
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

METODOS NUMERICOS 16
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

Anexo 2
 Imágenes

METODOS NUMERICOS 17
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

Generando curvas con Spline.

METODOS NUMERICOS 18
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ INGENIERIA CIVIL

Generando superficies con Spline.

METODOS NUMERICOS 19

Common questions

Con tecnología de IA

Lagrange interpolation is a fundamental approach to polynomial fitting that constructs a single polynomial passing through a given set of data points. While it is simple and straightforward for small datasets, its generalizability is limited by the polynomial degree, which can increase rapidly, leading to fitting problems such as Runge's phenomenon in extended datasets . Spline interpolation, however, addresses these limitations by using piecewise polynomials of lower degrees, providing a more stable and computationally efficient solution that maintains continuity and smoothness across the dataset . Consequently, splines are more generalizable for complex real-world data fitting, especially when data points are numerous or non-uniformly spaced .

Spline functions offer distinct computational advantages over traditional polynomial functions. One major advantage is that splines use piecewise lower-degree polynomials, reducing computational burden and the risk of high-degree polynomial oscillations. This segmented approach allows for local adjustments without impacting the entire function, enabling more accurate and stable calculations. Moreover, splines naturally accommodate non-uniformly spaced data, an added advantage when dealing with real-world datasets . The computational simplicity and flexibility of splines also make them highly efficient for representing complex shapes and performing real-time calculations in numerical methods and computer graphics .

Interpolation by splines is particularly effective for non-uniformly spaced x-values as it divides the data range into smaller subintervals, applying low-degree polynomials in each subinterval. This local fitting approach ensures that even if the x-values are unevenly spaced, the spline function remains continuous and smooth across the entire interval due to its inherent piecewise continuity and differentiability . In contrast, polynomial interpolation would require a single high-degree polynomial that might poorly fit non-uniformly spaced data due to excessive oscillations, particularly in regions with sparse data points .

Continuity conditions in spline interpolation are crucial for ensuring that the piecewise-defined function is smooth across subintervals. These conditions dictate that the spline function and its derivatives meet at the subinterval boundaries, ensuring that there are no abrupt changes in direction or curvature. This results in a smooth and visually appealing fit, similar to the original function's behavior . By assuring first and second derivative continuity, cubic splines, in particular, provide a smooth transition between polynomial segments, effectively mimicking the natural phenomena represented by the data and avoiding artifacts of discontinuity . This smoothness is critical in applications such as computer graphics and computational simulations, where abrupt changes can lead to erroneous interpretations of data .

Splines are often preferred over high-degree polynomials because they reduce oscillations that occur with single high-degree polynomials and produce more stable and accurate interpolations. By using piecewise polynomials, splines maintain the required continuity and differentiability, making them suitable for practical applications. Moreover, splines, particularly cubic splines, efficiently model data with lower-degree polynomials in each segment, avoiding the computation issues linked with high-degree polynomials . Therefore, splines achieve smooth and stable interpolation with computational simplicity .

Cubic splines are advantageous in curve fitting due to their balance of flexibility and stability. They consist of piecewise cubic polynomials that ensure the spline has continuous first and second derivatives, making the fit smooth. Cubic splines are particularly suitable for approximating complex curves because they minimize the oscillation issue common with high-degree polynomial interpolation. Their computational efficiency and the ability to accurately depict the shape of underlying data without large oscillations make them preferred for many scientific and engineering applications . Additionally, cubic splines are robust for representing data, avoiding the instability of higher-degree polynomial fits .

High-degree polynomial interpolation can lead to several mathematical challenges, including excessive oscillations and instability, particularly at the dataset's edges — a problem known as Runge's phenomenon. These high-degree polynomials can be sensitive to small changes in data, resulting in large errors. Splines mitigate these challenges by using piecewise polynomials of relatively low degrees, maintaining smoothness and continuity between intervals without the risk of oscillations. This localized approach with splines avoids the instability and computational complexity typical of high-degree global polynomials, thereby providing more robust and practical solutions for diverse interpolation tasks .

Splines are used extensively across various industries for precise representation of freeform surfaces. In the automotive industry, they are employed in car body designs; in aerospace, for the exterior surfaces of aircraft; in maritime, for ship hull designs. Additionally, splines are utilized in designing athletic footwear, in printing technologies, industrial robotics, micro-robotics, and even in video game graphics and the DemoScene . This widespread application is due to their ability to model complex shapes while maintaining mathematical precision and ease of recomputation .

Inverse interpolation is a variation where, instead of estimating a dependent variable given an independent variable, the dependent variable value is used to determine an unknown independent variable. This technique is applied when direct inversion of functions is complicated or when data is available in tabular form without an explicit function. Applications include scenarios where a specific output is desired, such as determining specific conditions leading to a measurable outcome in engineering processes or calibrating instruments based on expected results . Inverse interpolation deals with non-uniform spacing issues and provides a strategy to align function values by approximating the corresponding independent variable effectively .

Splines originated in the 1950s when engineers sought precise mathematical representations for freeform surfaces necessary in automotive, aerospace, and maritime designs. Key pioneers like Pierre Bézier and Paul de Casteljau developed spline concepts independently to address these industrial needs . Over time, splines became integral to numerical methods due to their ability to interpolate and smooth data efficiently. Their evolution paralleled advancements in computer graphics, where their ability to represent complex shapes with precision and computational ease contributed significantly to visualizations and design processes in modern software applications .

También podría gustarte