Elimina una tendencia constante, lineal o adaptativa de un conjunto de datos.
Sintaxis
Detrend(Signal, [ Mode = DETREND_CONSTANT ] [ , Parameter = 0 ])
La sintaxis de la función Detrend consta de los siguientes elementos:
Parte |
Descripción |
||||||||
|---|---|---|---|---|---|---|---|---|---|
Signal |
El conjunto de datos cuya tendencia desea eliminar. Se permiten todas las estructuras de datos excepto Valor escalar y Lista. 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. |
||||||||
Mode |
Especifica si se debe restar una tendencia constante, lineal o adaptativa. Si omite el argumento, se resta una tendencia constante. El argumento Mode 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 DETREND_CONSTANT si no se especifica el argumento. |
||||||||
Parameter |
Controla el algoritmo de cálculo de la tendencia adaptativa. Si es positivo y se especifica sin unidad, indica el número N de vecinos que deben tenerse en cuenta para determinar el siguiente punto de apoyo. Si se especifica con la unidad "%" o negativo, indica la histéresis en porcentaje del rango del conjunto de datos, que se utiliza para buscar máximos locales con el fin de determinar N automáticamente. Si omite el argumento o pasa 0, esto corresponde a una histéresis del 5 %. Las estructuras de datos permitidas son Valor escalar. 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. Se establece el valor predeterminado 0 si no se especifica el argumento. |
Notas
El resultado tiene la misma estructura y unidad que el argumento Signal.
En el caso de estructuras de datos compuestas, solo se calcula el componente Y y los componentes X y, si procede, Z se incluyen sin cambios en el resultado. En el caso de las matrices de datos y las series de señales, el cálculo se realiza para cada columna o cada señal de la misma. Los tipos de datos de tiempo de calendario y de intervalo de tiempo se conservan en el resultado. Para todos los demás tipos de datos numéricos, el resultado es un número en coma flotante de 64 bits.
Para determinar la tendencia constante o lineal, primero se calcula el valor medio de la señal y, a continuación, se busca el primer y el último cruce de nivel con respecto a ese valor. Si se encuentran dos pasos a nivel, el valor medio o la recta de mejor ajuste solo se calcula para el rango entre estos dos pasos a nivel. Así se evitan los errores provocados por el corte de fase de las señales periódicas en los finales del conjunto de datos. Si no se encuentra ningún cruce de nivel, se incluyen todos los valores en el cálculo.
Para calcular la tendencia adaptativa, la curva envolvente superior e inferior de la señal se calculan utilizando el mismo algoritmo que utilizan también las funciones UpperEnvelope y LowerEnvelope. A continuación, estas envolventes se muestrean mediante interpolación lineal para todos los valores X del conjunto de datos. A continuación, se calcula la media aritmética a partir de estas dos envolventes. La tendencia así calculada se resta de los datos originales.
Disponibilidad
FlexPro Basic, Professional, Developer Suite
Ejemplos
Detrend(Signal) |
Corresponde a Signal - Trend(Signal). |
Integral(Detrend(Signal, DETREND_LINEAR)) |
Elimina una tendencia lineal de una señal antes de la integración. |
Detrend(Signal, DETREND_ADAPTIVE, 2 %) |
Elimina una tendencia adaptativa de la señal. El número de vecinos para la búsqueda del nodo de las curvas envolventes se determina a través de los máximos locales de la señal, que se buscan con una histéresis del 2 %. |
DCRemovalFilter(DataSet) |
Elimina el componente de CC de un conjunto de datos (incluidos los componentes de frecuencia vecinos) utilizando la función DCRemovalFilter (filtro paso alto). |


