Saltar navegación

Documentación de FlexPro 2025

SmoothingSpline

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

Sintaxis

SmoothingSpline(DataSet, N, SamplingMode, Weighting)
o
SmoothingSpline(Amplitude, Time, N, SamplingMode, Weighting)

 

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

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.

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

Weighting

Especifica el grado de alisado de la curva spline. Los valores cercanos a cero dan como resultado la línea de mejor ajuste, los valores muy grandes dan como resultado una curva spline natural.

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

El valor debe ser mayor 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.

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 función spline de aproximación, los polinomios no pasan necesariamente por los puntos del conjunto de datos, sino que los igualan. El grado de alisado puede variar desde la función spline natural, que pasa por los puntos, hasta la línea recta mejor que mejor los aproxima. 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. 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 curvas spline alisadas con diferentes ponderaciones:

Disponibilidad

FlexPro Basic, Professional, Developer Suite

Ejemplos

Compensatingspline({1, 2, 6, 9, 4, 7, 6, 4, 2}, 100, SPLINE_EQUIDISTANT, 0.0001)
 

Interpola el conjunto de datos utilizando una curva spline alisada. El resultado es la línea de mejor ajuste con 100 puntos.

Compensatingspline({1, 2, 6, 9, 4, 7, 6, 4, 2}, 100, SPLINE_EQUIDISTANT, 1000)
 

Interpola el conjunto de datos utilizando una curva spline alisada. El resultado es una curva spline natural de 100 puntos.

Véase también

Función BicubicSpline

Función SmoothingSpline2D

Función ParametricSpline

Función PeriodicSpline

Función Spline

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.