SplitIntoSegments (FPScript)

21.09.2021

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))
XScale(Segments, -Segments.X[0])

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.

Voir aussi

Fonction ExtractSegments

Fonction XOffsetScale

Objet d'analyse Isolation d'événements

Structures de données

Opérateur Index

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :