Saltar navegación

Documentación de FlexPro 2025

Smooth

Alisa un conjunto de datos calculando una media móvil.

Sintaxis

Smooth(DataSet, SmoothingWidth [ , Padding = PADDING_NONE ])

 

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

Parte

Descripción

DataSet

El conjunto de datos que se va a alisar.

Las estructuras de datos permitidas son Serie de datos, Matriz de datos, Señal y Serie de señales. 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.

SmoothingWidth

Especifica cuántos valores deben incluirse en cada valor medio. Si especifica un número impar, se incluirán en el valor medio el mismo número de valores vecinos a izquierda y derecha del valor que se desea alisar. Si especifica un número par, se incluye en el valor medio un valor vecino más a la derecha que a la izquierda del valor que se va a alisar. Por lo tanto, es preferible un ancho de alisado impar para evitar un desplazamiento de fase.

Las estructuras de datos permitidas son Valor escalar. Los tipos de datos permitidos son Entero de 16 bits, Entero de 32 bits y Entero de 64 bits.

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.

Padding

Especifica si la ventana de alisado debe rellenarse en los bordes del conjunto de datos y cómo.

El argumento Padding puede tener los siguientes valores:

Constante

Significado

PADDING_NONE

No se añade nada a los bordes del conjunto de datos, sino que la ventana de alisado se acorta en consecuencia.

PADDING_ZERO

Los ceros se añaden a los bordes del conjunto de datos.

PADDING_CONSTANT

El primer o último valor del conjunto de datos se añade a los bordes del conjunto de datos.

PADDING_LINEAR

La extrapolación lineal se aplica en los bordes del conjunto de datos.

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 PADDING_NONE si no se especifica el argumento.

Notas

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

La estructura del resultado corresponde a la del argumento DataSet.

El resultado tiene el mismo número de valores que el argumento DataSet.

El valor medio se calcula del siguiente modo:

Los valores inválidos en DataSet se ignoran durante el promediado, es decir, se reduce el número de valores en la ventana de promediado.

Si Padding es igual a PADDING_ZERO, el alisado corresponde a una convolución de la señal con una ventana rectangular de ancho SmoothingWidth. El siguiente diagrama muestra la función de transferencia de la ventana rectangular para n = 10 y n = 20:

Disponibilidad

FlexPro Basic, Professional, Developer Suite

Ejemplos

Smooth({1, 4, 3, 5, 8, 7, 9}, 3)

Devuelve {2.5, 2.66, 4, 5.33, 6.66, 8, 8}.

Smooth({1, 4, 3, 5, 8, 7, 9}, 3, PADDING_CONSTANT)

Devuelve {2, 2.66, 4., 5.33, 6.66, 8, 8.33}.

Smooth({1, 2, 3, 2, 1}, 3, PADDING_LINEAR)

Devuelve {1, 2, 2.33, 2, 1}.

Smooth({1, ?, 1}, 3, PADDING_NONE)

Devuelve {1, 1, 1}.

Véase también

Función Mean

Objeto de análisis Alisado de señal