Trend (FPScript)
Détermine la tendance constante, linéaire ou adaptative d'un ensemble de données.
Syntaxe
Trend(Signal, [ Mode = TREND_CONSTANT ] [ , Parameter = 0 ])
La syntaxe de la fonction Trend se compose des éléments suivants :
Section |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Signal |
L'ensemble de données avec la tendance que vous voulez calculer. Les structures de données autorisées sont Séries de données, Matrice de données, Signal, Série de signaux et Série de signaux avec composante X bidimensionnelle. Tous les types de données numériques sont autorisés. Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste. |
||||||||
Mode |
Précise si une tendance constante, linéaire ou adaptative doit être déterminée. L'argument Mode peut avoir les valeurs suivantes :
Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété. Si l'argument n'est pas spécifié, il est défini à la valeur par défaut TREND_CONSTANT . |
||||||||
Parameter |
Contrôle l'algorithme pour le calcul de la tendance adaptative. Si il est positif et spécifié sans unité, il précise le nombre N de voisins à prendre en compte pour déterminer le prochain point de mesure pertinent. Si elle est négative ou spécifiée avec l'unité "%", elle spécifie l'hystérésis en pourcentage de la plage de l'ensemble de données avec laquelle les maxima locaux sont recherchés pour déterminer N automatiquement. Si vous omettez l'argument ou passez 0, cela correspond à une hystérésis de 5 %. Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés. Pour les types de données complexes, un nombre est formé. Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété. Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 . |
Remarques
Le résultat a la même structure et la même unité que l'argument Signal.
Pour les structures de données composées, seule la composante Y est prise en compte et la composante X ou, le cas échéant, Z est copiée dans le résultat sans modification. Pour les matrices de données et les séries de signaux, le calcul pour chaque colonne ou chaque signal y est effectué. Les types de données temps calendaire et période de temps sont conservés dans le résultat. Pour tous les autres types de données numériques, le résultat est une valeur à virgule flottante de 64 bits.
Lors de la détermination de la tendance constante ou linéaire, la valeur moyenne du signal est d'abord calculée, puis une recherche commence pour le premier et le dernier passage de niveau en utilisant cette valeur. Si deux passages de niveau ont été trouvés, la valeur moyenne ou la meilleure ligne droite n'est calculée que pour l'intervalle entre ces deux passages à niveau. Cela permet d'éviter les erreurs qui se produisent à la fin de l'ensemble de données à cause de la coupure de phase des signaux périodiques. Si aucun passage de niveau n'a été trouvé, alors toutes les valeurs sont incluses dans le calcul.
Pour calculer la tendance adaptative, l'enveloppe supérieure et l'enveloppe inférieure du signal sont calculées avec le même algorithme, qui est utilisé par les fonctions UpperEnvelope et LowerEnvelope. Ces enveloppes sont ensuite échantillonnées par interpolation linéaire pour toutes les valeurs X de l'ensemble de données. La moyenne arithmétique est alors formée à partir de ces deux enveloppes.
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
Trend(Signal(Sin(2. * PI * (1000, 0, 0.01)), (1000, 0, 0.01))) |
Calcule un ensemble de données constantes avec la moyenne du signal sinusoïdal. |