SplitIntoSegments (FPScript)
Divise un ensemble de données en segments de différentes longueurs et les renvoie sous forme de liste.
Syntaxe
SplitIntoSegments(Data, Divisions, [ ExcludeBorderSegments = FALSE ] [ , NameTemplate = "%1Segment%2" ])
La syntaxe de la fonction SplitIntoSegments se compose des éléments suivants :
Section |
Description |
---|---|
Data |
L'ensemble de données à segmenter. Les structures de données autorisées sont Séries de données, Matrice de données, Signal, Série de signaux, Série de signaux avec composante X bidimensionnelle et Courbe 3D. Tous les types de données 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. |
Divisions |
Les indices des positions où un segment se termine et le suivant commence. Les structures de données autorisées sont Séries de données. 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. |
ExcludeBorderSegments |
Définissez cet argument à True si vous ne voulez pas que les segments de bord avant la première et après la dernière division soient inclus dans le résultat. Les structures de données autorisées sont Scalaire. Les types de données pris en charge sont Valeur booléenne. Si l'argument n'est pas spécifié, il est défini à la valeur par défaut FALSE . |
NameTemplate |
Un modèle utilisé pour former les noms des éléments des segments. Utilisez "%1" pour insérer le nom de l'ensemble de données à segmenter et "%2" pour insérer le numéro du segment. Les structures de données autorisées sont Scalaire. Les types de données pris en charge sont Chaîne de caractères. Si l'argument n'est pas spécifié, il est défini à la valeur par défaut %1Segment%2 . |
Remarques
La fonction divise l'ensemble de données sans saut et attribue les valeurs de Data avec les indices énumérés dans Divisions au segment suivant. Si l'indice suivant de Divisions indique une position qui se situe avant l'indice actuel, alors celui-ci est ignoré et l'indice suivant de Divisions est lu.
Les indices sont comptés à partir de zéro. Les indices négatifs comptent à partir de la fin, c'est-à-dire que l'indice -1 correspond à la dernière valeur dans Data, -2 correspond à l'avant-dernier et ainsi de suite.
Si Data est une série de signaux, alors elle est segmentée dans la direction X. Dans le cas d'une matrice de données, cela correspond à une segmentation dans le sens de la ligne. Cela correspond à l'opération d'indexation Data[][Beginning, End].
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
SplitIntoSegments(Signal, LevelCrossings(Signal, 0, 0.1, EVENT_POSITIVE)) |
Décompose un signal de vibration en ondes individuelles. |
Dim Segments = SplitIntoSegments(Signal, LevelCrossings(Signal, 0, 0.1, EVENT_POSITIVE)) |
Décompose un signal de vibration en ondes individuelles. Les composantes X des segments sont corrigées de manière à ce qu'elles commencent toutes par 0. |
SplitIntoSegments(Signal, LevelCrossings(Signal, 0, 0.1, EVENT_POSITIVE), False) |
Correspond au premier exemple, mais les ondes partielles au début et à la fin sont rejetées. |