Saltar navegación

Documentación de FlexPro 2025

Spline

Interpola un conjunto de datos a través de una curva spline y lo muestrea en puntos predefinidos.

Sintaxis

Spline(DataSet, N, SamplingMode, [ V1 = 0 ] [ , Vn = 0 ])
o
Spline(Amplitude, Time, N, SamplingMode, [ V1 = 0 ] [ , Vn = 0 ])

 

La sintaxis de la función Spline consta de los siguientes elementos:

Parte

Descripción

DataSet

Conjunto de datos con un intervalo de muestreo constante que se interpola. Si especifica una serie de datos, el componente X se genera automáticamente.

Las estructuras de datos permitidas son Serie de datos, Matriz de datos, Señal, Serie de señales y Serie de señales con componente X bidimensional. Se permiten todos los tipos de datos numéricos.

En los tipos de datos complejos se calcula un valor absoluto.

Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista.

Amplitude

El componente Y de la señal que se va a interpolar. Si especifica una señal, se utiliza su componente Y.

Las estructuras de datos permitidas son Serie de datos, Matriz de datos y Señal. Se permiten todos los tipos de datos numéricos.

En los tipos de datos complejos se calcula un valor absoluto.

Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso.

Time

El componente X de la señal que se va a interpolar. Si especifica una señal, se utiliza su componente Y.

Las estructuras de datos permitidas son Serie de datos, Matriz de datos y Señal. Se permiten todos los tipos de datos numéricos.

En los tipos de datos complejos se calcula un valor absoluto.

Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso.

N

Especifica el número total de puntos o por intervalo X de la señal.

Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos enteros.

El valor debe ser mayor o igual que 1.

Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso.

SamplingMode

Especifica cómo debe muestrearse la curva spline calculada y qué condiciones de contorno deben utilizarse.

El argumento SamplingMode puede tener los siguientes valores:

Constante

Significado

SPLINE_EQUIDISTANT

N valores muestreados equidistantes.

SPLINE_INTERVAL

N valores por intervalo X original. El número de valores del resultado es (NumberOfRows(DataSet) - 1) * N + 1.

...más una constante que determina las condiciones de contorno.

Constante

Significado

+ SPLINE_NOTAKNOT

Condición de contorno "Not-A-Knot" (V1 y Vn se ignoran).

+ SPLINE_1DERIVATIVE

V1 y Vn se interpretan como 1.ª derivada en el primer y último punto.

+ SPLINE_2DERIVATIVE

V1 y Vn se interpretan como 2.ª derivada en el primer y último punto.

+ SPLINE_3DERIVATIVE

V1 y Vn se interpretan como 3.ª derivada en el primer y último punto.

Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso.

V1

Determina la condición de contorno al inicio de la curva spline.

Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos reales.

Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso.

Se establece el valor predeterminado 0 si no se especifica el argumento.

Vn

Determina la condición de contorno al final de la curva spline.

Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos reales.

Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso.

Se establece el valor predeterminado 0 si no se especifica el argumento.

Notas

El resultado es siempre el tipo de datos En coma flotante de 64 bits.

El resultado tiene la misma unidad que el argumento DataSet.

Una curva spline está formada por polinomios cúbicos que se añaden unos a otros de forma que la curva sea lo más suave posible.

El componente Y del conjunto de datos que se va a interpolar debe contener al menos 3 valores y el componente X debe ser estrictamente monótono creciente. Si este último no es el caso (por ejemplo, con una trayectoria), debe utilizar la funciónParametricSpline. Sin embargo, los valores X no tienen por qué ser equidistantes. Antes de la interpolación de spline, los valores inválidos del componente Y se eliminan mediante interpolación lineal.

Se puede obtener una curva spline natural con V1 y Vn como 2.ª derivadas son iguales a cero.

El siguiente gráfico muestra curvas spline con diferentes condiciones de contorno. Los valores V1 y Vn son iguales a cero.

Disponibilidad

FlexPro Basic, Professional, Developer Suite

Ejemplos

Spline({0, 1, 0, 0, 1}, 20, SPLINE_EQUIDISTANT)
 

El resultado es una curva spline muestreada de forma equidistante con 20 valores.

Spline({0, 1, 0, 0, 1}, 20, SPLINE_INTERVAL)
 

Da como resultado una curva spline con 81 valores.

Spline({0, 1, 0, 0, 1}, 20, SPLINE_EQUIDISTANT + SPLINE_1DERIVATIVE, -5, -5)
 

El resultado es una curva spline muestreada de forma equidistante con 20 valores. La curva tiene una pendiente de -5 en los bordes.

El siguiente gráfico muestra las curvas spline de los tres ejemplos:

Véase también

Función BicubicSpline

Función SmoothingSpline

Función ParametricSpline

Función PeriodicSpline

Función Spline2D

Objeto de análisis Interpolación de spline

Objeto de análisis Interpolación de superficie

Bibliografía

[1] "Carl de Boor": "A Practical Guide to Splines, Revised Edition". "Springer-Verlag, New York", 2001. ISBN 0-387-95366-3.