Saltar navegación

Documentación de FlexPro 2025

PeriodicSpline

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

Sintaxis

PeriodicSpline(DataSet, N, SamplingMode)
o
PeriodicSpline(Amplitude, Time, N, SamplingMode)

 

La sintaxis de la función PeriodicSpline 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, 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, 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, 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, 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 0.

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_PERIODICAPPEND

La señal que se va a interpolar debe ser periódica, es decir, el último valor del componente Y debe ser el mismo que el primero. Si este no es el caso, FlexPro impone la periodicidad usando uno de estos dos métodos:

Si se añade esta constante y no hay periodicidad, se añade el primer valor al final de DataSet. El valor X del último punto original más la diferencia entre el último y el penúltimo valor X se utiliza como valor X para este punto adicional.

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

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. Con la curva spline periódica, las condiciones de contorno se definen de forma que la pendiente y la curvatura de la curva spline coincidan en los bordes izquierdo y derecho.

El conjunto de datos que se va a interpolar debe contener al menos cuatro 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ón ParametricSpline. 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.

El siguiente gráfico muestra la diferencia entre una curva periódica y una curva spline natural:

Disponibilidad

FlexPro Basic, Professional, Developer Suite

Ejemplos

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

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

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

Da como resultado una curva spline con 81 valores.

PeriodicSpline({0, 1, 0, 0, 1}, 20, SPLINE_EQUIDISTANT+SPLINE_PERIODICAPPEND)

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

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

Véase también

Función BicubicSpline

Función SmoothingSpline

Función SmoothingSpline2D

Función ParametricSpline

Función Spline

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.