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:
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}. |