Sauter la navigation

Documentation FlexPro 2025

Construire des structures de données

FPScript fournit des opérateurs et des fonctions pour vous aider à construire vos propres structures de données.

Série de données linéaires

Par exemple, cet opérateur Data Series crée une série de données avec des valeurs ascendantes :

(100, 0., 1.)

100 est le nombre de valeurs, 0. est la valeur de départ, et 1. est l'incrément. Si vous préférez spécifier la valeur de départ, la valeur finale et l'intervalle d'échantillonnage, utilisez la fonction Série:

Series(0, 100, 1)

génère une série de données de 101 valeurs avec une valeur de départ de 0, une valeur finale de 100 et un intervalle d'échantillonnage de 1.

Si vous utilisez des grandeurs, vous pouvez spécifier différentes unités, mais elles doivent être compatibles :

(2000, 0 s, 1 ms) ou Series(0 s, 2 s, 1 ms)

Le résultat est obtenu par l'unité qui se trouve le plus à gauche, c'est donc l'équivalent :

(2000, 0 s, 0.001 s)

Séries de données et matrices à contenu constant

L'opérateur de multiplication est utilisé pour créer des séries de données ou des matrices de données à contenu constant :

1.5 # 100n

L'exemple ci-dessus génère une série de données avec 100 foisla valeur 1.5. La valeur unique 1.5 a donc été multipliée 100 fois.

1.5 # 100n # 20n crée une matrice de données bidimensionnelle contenant 20 séries de données de 100 valeurs chacune.

TRUE # Shape(Matrix)        crée une matrice de valeurs de vérité dont le nombre de lignes et de colonnes correspond à une matrice existante.

Ici aussi, vous pouvez multiplier les grandeurs :

1.5 N m # 100n

Séries de données et matrices à contenu variable

Vous pouvez également regrouper différentes valeurs scalaires en séries de données et des séries de données en matrices de données :

{ 1.5, 2.6, 7.8 }

L'opérateur de concaténation concatène les valeurs scalaires en une série de données à trois valeurs. La longueur de la liste n'est pas limitée. Bien sûr, en plus des valeurs scalaires constantes, vous pouvez écrire des expressions arithmétiques qui renvoient des valeurs scalaires.

{ SériedeDonnées1, SériedeDonnées2, SériedeDonnées3 } regroupe trois séries de données unidimensionnelles en une matrice de données bidimensionnelle. Les séries de données doivent avoir la même longueur.

Tous les éléments d'une série de données ou d'une matrice de données sont du même type de données. Ceci ne s'applique pas aux composants des structures de données agrégées ; par exemple, le composant X d'un signal peut avoir un type de données différent de celui du composant Y.

Au lieu de valeurs numériques, vous pouvez également regrouper des quantités. Il suffit d'indiquer une unité pour la première valeur, celle-ci s'applique ensuite également aux autres valeurs :

{ 1.5 kg, 2.6, 7.8 }

Si vous spécifiez des unités différentes, elles doivent être compatibles. Le résultat contient l'unité de la première grandeur :

{ 50 mV, 0,5 V, -0,7 V } correspond à l'entrée de { 50 mV, 500 mV, -700 mV }.

Listes avec plusieurs éléments indépendants

L'opérateur de liste rassemble plusieurs valeurs ou quantités qui, pour leur part, peuvent avoir n'importe quelles structures et types de données. Chaque élément d'une liste a la possibilité d'avoir un nom. Comme chaque élément de liste peut à son tour être une liste, il est possible de construire n'importe quelle structure profondément imbriquée.

[ <Solution> SériedeDonnées, <ChiSquare> Scalaire ] résume le vecteur solution et la mesure d'ajustement issus d'un ajustement de courbe dans une liste. Les noms fournis entre crochets sont facultatifs et décrivent les éléments de la liste.

Pour créer facilement une liste des objets, vous pouvez utiliser les caractères de remplacement '*' et '?' dans le nom du chemin. Par exemple :

'\Mesure*\Signal'        correspond à [\Mesure1\Signal, \Mesure2\Signal, ...].

Utilisez le caractère générique "*" pour une chaîne de caractères de n'importe quelle longueur et le caractère générique " ?" pour un seul caractère.

L'utilisation de noms d'éléments de liste n'est plus recommandée dans FlexPro version 10 et supérieure. Utilisez plutôt la fonction AssignHeader pour attribuer des informations d'en-tête aux éléments de la liste.

Les listes sont utilisées pour les analyses multicanaux ou lorsqu'un seul calcul produit plusieurs résultats indépendants qui ne peuvent être calculés séparément.

Pour accéder à un élément de liste, vous pouvez utiliser son nom, s'il est disponible, ou la position de l'élément dans la liste :

Liste.ChiSquare accède au deuxième élément de la liste ci-dessus.

Liste.[1n]        donne le même résultat sans utiliser le nom de l'élément.

Vous pouvez utiliser la fonction ListToSeries pour convertir une liste contenant des éléments de même structure en une série de données, une matrice de données ou une série de signaux.

Construire des structures de données agrégées

Vous pouvez utiliser la fonction Signal pour créer des structures de données agrégées de signaux, de séries de signaux et de courbes spatiales à partir des structures de données de base de séries de données et de matrices de données :

Signal(Amplitude, Temps) joint deux séries de données avec les valeurs de mesure et les valeurs de temps correspondantes pour former un signal. L'amplitude et le temps sont alors les composantes du signal.

Concaténation de données

L'opérateur de concaténation concatène des ensembles de données les uns aux autres :

Série de données1 : Série de données2

Vous pouvez également ajouter des signaux les uns aux autres. Dans ce cas, la composante X du second signal est automatiquement décalée de façon à ce qu'elle suive sans discontinuité le premier.

Si vous concaténer des grandeurs, l'unité de l'argument de droite est ajustée à celle de gauche.

Documentation FlexPro 2025

Construire des structures de données

FPScript fournit des opérateurs et des fonctions pour vous aider à construire vos propres structures de données.

Série de données linéaires

Par exemple, cet opérateur Data Series crée une série de données avec des valeurs ascendantes :

(100, 0., 1.)

100 est le nombre de valeurs, 0. est la valeur de départ, et 1. est l'incrément. Si vous préférez spécifier la valeur de départ, la valeur finale et l'intervalle d'échantillonnage, utilisez la fonction Série:

Series(0, 100, 1)

génère une série de données de 101 valeurs avec une valeur de départ de 0, une valeur finale de 100 et un intervalle d'échantillonnage de 1.

Si vous utilisez des grandeurs, vous pouvez spécifier différentes unités, mais elles doivent être compatibles :

(2000, 0 s, 1 ms) ou Series(0 s, 2 s, 1 ms)

Le résultat est obtenu par l'unité qui se trouve le plus à gauche, c'est donc l'équivalent :

(2000, 0 s, 0.001 s)

Séries de données et matrices à contenu constant

L'opérateur de multiplication est utilisé pour créer des séries de données ou des matrices de données à contenu constant :

1.5 # 100n

L'exemple ci-dessus génère une série de données avec 100 foisla valeur 1.5. La valeur unique 1.5 a donc été multipliée 100 fois.

1.5 # 100n # 20n crée une matrice de données bidimensionnelle contenant 20 séries de données de 100 valeurs chacune.

TRUE # Shape(Matrix)        crée une matrice de valeurs de vérité dont le nombre de lignes et de colonnes correspond à une matrice existante.

Ici aussi, vous pouvez multiplier les grandeurs :

1.5 N m # 100n

Séries de données et matrices à contenu variable

Vous pouvez également regrouper différentes valeurs scalaires en séries de données et des séries de données en matrices de données :

{ 1.5, 2.6, 7.8 }

L'opérateur de concaténation concatène les valeurs scalaires en une série de données à trois valeurs. La longueur de la liste n'est pas limitée. Bien sûr, en plus des valeurs scalaires constantes, vous pouvez écrire des expressions arithmétiques qui renvoient des valeurs scalaires.

{ SériedeDonnées1, SériedeDonnées2, SériedeDonnées3 } regroupe trois séries de données unidimensionnelles en une matrice de données bidimensionnelle. Les séries de données doivent avoir la même longueur.

Tous les éléments d'une série de données ou d'une matrice de données sont du même type de données. Ceci ne s'applique pas aux composants des structures de données agrégées ; par exemple, le composant X d'un signal peut avoir un type de données différent de celui du composant Y.

Au lieu de valeurs numériques, vous pouvez également regrouper des quantités. Il suffit d'indiquer une unité pour la première valeur, celle-ci s'applique ensuite également aux autres valeurs :

{ 1.5 kg, 2.6, 7.8 }

Si vous spécifiez des unités différentes, elles doivent être compatibles. Le résultat contient l'unité de la première grandeur :

{ 50 mV, 0,5 V, -0,7 V } correspond à l'entrée de { 50 mV, 500 mV, -700 mV }.

Listes avec plusieurs éléments indépendants

L'opérateur de liste rassemble plusieurs valeurs ou quantités qui, pour leur part, peuvent avoir n'importe quelles structures et types de données. Chaque élément d'une liste a la possibilité d'avoir un nom. Comme chaque élément de liste peut à son tour être une liste, il est possible de construire n'importe quelle structure profondément imbriquée.

[ <Solution> SériedeDonnées, <ChiSquare> Scalaire ] résume le vecteur solution et la mesure d'ajustement issus d'un ajustement de courbe dans une liste. Les noms fournis entre crochets sont facultatifs et décrivent les éléments de la liste.

Pour créer facilement une liste des objets, vous pouvez utiliser les caractères de remplacement '*' et '?' dans le nom du chemin. Par exemple :

'\Mesure*\Signal'        correspond à [\Mesure1\Signal, \Mesure2\Signal, ...].

Utilisez le caractère générique "*" pour une chaîne de caractères de n'importe quelle longueur et le caractère générique " ?" pour un seul caractère.

L'utilisation de noms d'éléments de liste n'est plus recommandée dans FlexPro version 10 et supérieure. Utilisez plutôt la fonction AssignHeader pour attribuer des informations d'en-tête aux éléments de la liste.

Les listes sont utilisées pour les analyses multicanaux ou lorsqu'un seul calcul produit plusieurs résultats indépendants qui ne peuvent être calculés séparément.

Pour accéder à un élément de liste, vous pouvez utiliser son nom, s'il est disponible, ou la position de l'élément dans la liste :

Liste.ChiSquare accède au deuxième élément de la liste ci-dessus.

Liste.[1n]        donne le même résultat sans utiliser le nom de l'élément.

Vous pouvez utiliser la fonction ListToSeries pour convertir une liste contenant des éléments de même structure en une série de données, une matrice de données ou une série de signaux.

Construire des structures de données agrégées

Vous pouvez utiliser la fonction Signal pour créer des structures de données agrégées de signaux, de séries de signaux et de courbes spatiales à partir des structures de données de base de séries de données et de matrices de données :

Signal(Amplitude, Temps) joint deux séries de données avec les valeurs de mesure et les valeurs de temps correspondantes pour former un signal. L'amplitude et le temps sont alors les composantes du signal.

Concaténation de données

L'opérateur de concaténation concatène des ensembles de données les uns aux autres :

Série de données1 : Série de données2

Vous pouvez également ajouter des signaux les uns aux autres. Dans ce cas, la composante X du second signal est automatiquement décalée de façon à ce qu'elle suive sans discontinuité le premier.

Si vous concaténer des grandeurs, l'unité de l'argument de droite est ajustée à celle de gauche.