IndexSegments (FPScript)
Recherche de début et/ou de fin de segment dans une série de données d'index.
Syntaxe
IndexSegments(Index, [ Orientation = SEGMENT_BOTH ] [ , MinSize = 2 ])
La syntaxe de la fonction IndexSegments se compose des éléments suivants :
Section |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Index |
Une série de données avec des indices croissants. Les structures de données autorisées sont Séries de données. Tous les types de données réels 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. |
||||||||
Orientation |
Précise s'il faut rechercher les débuts de segment, les fins de segment ou les deux. L'argument Orientation 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 SEGMENT_BOTH . |
||||||||
MinSize |
Précise la taille minimale du segment. Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés. La valeur doit être supérieure ou égale à 1. 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 2 . |
Remarques
Un segment est une séquence d'indices en constante augmentation. Un indice est un début de segment s'il n'a pas de prédécesseur sans saut. Un indice est un fin de segment s'il n'a pas de successeur sans saut. Seuls les segments comportant le nombre minimum d'indices spécifiés avec l'argument MinSize est renvoyé.
Si MinSize est égal à 1, alors les indices isolés sont également renvoyés. Cependant, ces données ne sont renvoyée qu'une seule fois, même si elles représentent alors un début et une fin de segment.
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
IndexSegments({5, 6, 7, 10, 15, 16}) |
Renvoie {5L, 7L, 15L, 16L}. Veuillez noter que le 10 n'est pas renvoyé car la taille minimale du segment est de 2. |
IndexSegments({5, 6, 7, 10, 15, 16}, SEGMENT_BOTH, 1) |
Renvoie {5L, 7L, 10L, 15L, 16L}. Dans ce cas, le 10 est renvoyé, mais qu'une seule fois. |
ExtractSegments(Signal, IdxSegments(ValuesAboveLevel(Signal, 2))) |
Retourne une liste des segments de signal qui sont au-dessus du niveau 2. |