Opérateur d’index (FPScript)

23.08.2021

Extrait une valeur individuelle ou une section d'une expression.

Syntaxe

TermIndex1[Index2]

Index1 représente les variantes suivantes :

[]

ou

[Index]

ou

[from, to]

ou

[[ ]]

ou

[[ValueIndex]]

ou

[[ValueFrom, ValueTo]]

et l'indice optionnel Index2 correspond aux variantes suivantes :

[Index]

ou

[from, to]

ou

[[ValueIndex]]

ou

[[ValueFrom, ValueTo]]

La syntaxe de l'opérateur d'indexation se compose des éléments suivants :

Élément

Description

Terme

Une expression, qui décrit une variable, une formule ou un ensemble de données, appelle une fonction ou sélectionne un élément dans une liste, ou toute expression entre parenthèses.

Index

Spécifie le(s) numéro(s) de la (des) valeur(s) à indexer. Il peut s'agir d'une valeur scalaire intégrale, d'une série de données ou d'une matrice de données avec des valeurs intégrales ou du type de données Empty.

de

Spécifie l'indice de la première valeur d'une plage à indexer. Doit être une valeur scalaire intégrale réelle ou du type de données Empty.

à

Spécifie l'indice de la dernière valeur d'une plage à indexer. Doit être une valeur scalaire intégrale réelle ou du type de données Empty.

ValueIndex

Spécifie les valeurs X ou Z de la ou des valeurs ou signaux à indexer. Peut être une valeur scalaire numérique, une série de données avec des valeurs numériques ou du type de données Empty.

Valeur de départ

Spécifie la valeur X ou Z de la première valeur ou du premier signal d'une plage à indexer. Doit être une valeur scalaire numérique ou du type de données Empty.

ValeurTo

Spécifie la valeur X ou Z de la dernière valeur ou du dernier signal d'une plage à indexer. Doit être une valeur scalaire numérique ou du type de données Empty.

Remarques

Lorsqu'il est écrit avec des parenthèses simples, l'opérateur d'indexation peut extraire des valeurs individuelles ou des sections de séries de données, de matrices de données, de signaux, de séries de signaux et de courbes spatiales.

Les indices sont comptés à partir de zéro. Lesindices négatifs sont comptés à partir de la fin, c'est-à-dire que l'indice -1 correspond au dernier élément, -2 correspond à l'avant-dernier élément, et ainsi de suite. Pour les structures de données bidimensionnelles - matrice de données et série de signaux - deux indices peuvent être spécifiés consécutivement. Le premier indice appelé L'index de colonne s'applique aux séries de données dans une matrice de données ou aux signaux dans une série de signaux. Le deuxième indice facultatif est appelé Row index et s'applique aux valeurs des séries de données ou des signaux extraits à l'aide du premier index. Si vous laissez le premier index vide ou si vous spécifiez Index comme une valeur du type de données Empty, cela indexe toutes les séries de données ou tous les signaux.

Comme le montre la syntaxe, vous pouvez spécifier l'index de trois manières différentes : Si vous spécifiez comme Index une valeur scalaire(scalar value index), l'index extrait un élément, et le rang du résultat diminue de un. Si vous spécifiez comme Index une série de données(indice de série de données) ou une plage de, à(indice de plage), les valeurs listées dans la série de données ou les valeurs de la plage sont prises.  Si une valeur à virgule flottante est spécifiée pour l'un des arguments Index, from ou to, ses chiffres fractionnaires seront ignorés. Une valeur à virgule flottante invalide est interprétée comme 0. Si vous définissez de ou à comme une valeur avec le type de données Vide, cela correspond au premier ou au dernier élément de la dimension de l'ensemble de données à indexer.

Pour extraire des données de diffusion à partir d'une matrice de données ou d'une série de signaux, spécifiez Index comme une matrice de données avec deux lignes et n colonnes(2D Index). Chaque colonne d'Index contient l'indice de colonne et de ligne d'une valeur à extraire. Le résultat est alors une série de données ou une courbe spatiale avec les valeurs extraites.

Si le terme est une quantité, alors son unité est prise et le résultat est aussi une quantité. Si Index, de ou à est une quantité, alors elle doit avoir la dimension SI 1 et elle sera transformée en unité 1 avant l'indexation.

Lorsqu'il est écrit avec des doubles crochets, l'opérateur d'indexation des valeurs peut extraire des valeurs individuelles ou des sections de séries de données et de séries de signaux. L'indexation ne se fait pas par des indices, mais par des valeurs X ou Z. Les séries de signaux avec une composante X bidimensionnelle ne sont pas prises en charge. Si les valeurs X ou Z spécifiées ne sont pas exactement présentes dans le signal ou dans la série de signaux, les positions des valeurs les plus proches des valeurs spécifiées sont utilisées. Pour déterminer les indices correspondant aux valeurs X ou Z spécifiées, l'opérateur d'indexation des valeurs utilise la fonction SearchValue. Les valeurs à virgule flottante invalides ne sont pas autorisées comme indices de valeur.

Si ValueIndex, ValueFrom ou ValueTo est une quantité, alors cette quantité doit avoir la même dimension SI que le composant correspondant du terme et sera transformée dans son unité avant l'indexation. Si seules des valeurs numériques sont spécifiées sans unité, elles sont interprétées comme étant présentes dans l'unité correspondante.

Lorsque le terme indexé représente une structure de données composée, la structure de données de l'expression doit correspondre soit au composant Y, soit à la structure de données complète. Dans le premier cas, seules les valeurs Y indexées dans Term seront écrasées et dans le second cas, les valeurs X et, le cas échéant, les valeurs Z le seront également.

Si Term est une liste, alors l'opération d'indexation est effectuée par élément et le résultat est également une liste. Si Index1 et/ou Index2 est une liste, et si Term est également une liste, alors les éléments de la liste sont affectés par paires. Sinon, seul le premier élément de la liste est utilisé.

Notes :

L'opérateur d'indexation ne peut pas être utilisé pour extraire des éléments de listes. Pour ce faire, utilisez l'opérateur de liste d'éléments.

Lorsque vous accédez à des ensembles de données bidimensionnels, vous pouvez combiner l'opérateur d'indexation de valeur et l'opérateur d'indexation (index hybride).

 

Le tableau suivant énumère toutes les combinaisons possibles d'opérateurs d'index, à l'exception des cas hybrides :

Série de données[ScalarValue]

Prend la valeur avec le numéro spécifié dans ScalarValue de la série de données. Le résultat est une valeur scalaire.

Série de données[de, à]

Prend les valeurs comprises dans l'intervalle de, à de la série de données. Le résultat est une série de données.

Série de données

Prend les valeurs spécifiées dans Series à partir de la série de données. Le résultat est une série de données.

DataMatrix[ScalarValue]

Prend la colonne avec le numéro spécifié dans ScalarValue de la matrice de données. Le résultat est une série de données.

DataMatrix[de, à]

Prend les colonnes situées dans l'intervalle de, à de la matrice de données. Le résultat est une matrice de données.

DataMatrix

Prend les colonnes spécifiées dans Série de la matrice de données. Le résultat est une matrice de données.

DataMatrix[ ][ScalarValue]

Prend la ligne avec le numéro spécifié dans ScalarValue de la matrice de données. Le résultat est une série de données.

DataMatrix[ ][de, à]

Prend les lignes situées dans l'intervalle de, à de la matrice de données. Le résultat est une matrice de données.

DataMatrix[ ]

Prend les lignes spécifiées dans Série de la matrice de données. Le résultat est une matrice de données.

DataMatrix[ScalarValue1][ScalarValue2]

Prend une valeur de la colonne spécifiée avec ScalarValue1 et de la ligne spécifiée avec ScalarValue2 de la matrice de données. Le résultat est une valeur scalaire.

DataMatrix[ScalarValue][de, à]

Prend les valeurs comprises dans l'intervalle de, à de la colonne spécifiée dans ScalarValue de la matrice de données. Le résultat est une série de données.

DataMatrix[ScalarValue][Series]

Prend les valeurs spécifiées dans Series à partir de la colonne spécifiée dans ScalarValue de la matrice de données. Le résultat est une série de données.

DataMatrix[from, to][ScalarValue]

Prend la valeur spécifiée dans ScalarValue à partir des colonnes de l'intervalle de, à de la matrice de données. Le résultat est une série de données.

DataMatrix[from1, to1][from2, to2]

Prend les lignes situées dans l'intervalle de2, à2 des colonnes situées dans l'intervalle de1, à1 de la matrice de données. Le résultat est une matrice de données.

DataMatrix[from, to][Series]

Prend les lignes spécifiées dans Série à partir des colonnes situées dans l'intervalle de, à à partir de la matrice de données. Le résultat est une matrice de données.

DataMatrix[Series][ScalarValue]

Prend la valeur spécifiée dans ScalarValue à partir des colonnes énumérées dans Series de la matrice de données. Le résultat est une série de données.

DataMatrix[Series][from, to]

Prend les lignes situées dans l'intervalle de, à à partir des colonnes énumérées dans Série de la matrice de données. Le résultat est une matrice de données.

DataMatrix[Series1][Series2]

Prend les lignes listées dans Series2 à partir des colonnes listées dans Series1 de la matrice de données. Le résultat est une matrice de données.

Matrice de données[Matrix]

Prend les valeurs avec les indices de colonne et de ligne listés dans Matrix à partir de la matrice de données. Le résultat est une série de données.

Signal[ScalarValue]

Prend la valeur Y du signal avec le nombre spécifié dans ScalarValue. Le résultat est une valeur scalaire.

Signal[de, à]

Prend les points situés dans l'intervalle de, à du signal. Le résultat est un signal.

Signal

Prend les points spécifiés dans Series à partir du signal. Le résultat est un signal.

Série de signaux[Valeur scalaire]

Prend le signal avec le numéro spécifié dans ScalarValue de la série de signaux. Le résultat est un signal.

SignalSeries[de, à]

Prend les signaux situés dans l'intervalle de, à de la série de signaux. Le résultat est une série de signaux.

SignalSeries

Prend les signaux spécifiés dans Série dans la série de signaux. Le résultat est une série de signaux.

SignalSeries[ ][Valeur scalaire]

Prend toutes les valeurs avec le nombre spécifié dans ScalarValue de la série de signaux. Si la série de signaux a une composante Z, alors le résultat est un signal ou sinon une série de données.

SignalSeries[ ][de, vers]

Prend les valeurs comprises dans l'intervalle de, à de la série de signaux. Le résultat est une série de signaux.

SignalSeries[ ]

Prend les valeurs spécifiées dans Série à partir de la série de signaux. Le résultat est une série de signaux.

SignalSeries[ScalarValue1][ScalarValue2]

Prend la valeur Y avec le numéro spécifié dans ScalarValue2 du signal spécifié dans ScalarValue1 de la série de signaux. Le résultat est une valeur scalaire.

SignalSeries[ScalarValue][de, à]

Prend les valeurs situées dans l'intervalle de, à du signal spécifié dans ScalarValue de la série de signaux. Le résultat est un signal.

SignalSeries[ScalarValue]

Prend les valeurs spécifiées dans Series à partir du signal spécifié dans ScalarValue de la série de signaux. Le résultat est un signal.

SignalSeries[from, to][ScalarValue]

Prend les valeurs Y avec le nombre spécifié dans Scalar Value à partir des signaux situés dans l'intervalle de, à à partir de la série de signaux. Si la série de signaux a une composante Z, alors le résultat est un signal ou sinon une série de données.

SignalSeries[from1, to1][from2, to2]

Prend les points situés dans l'intervalle de2, à2 des signaux situés dans l'intervalle de1, à1 de la série de signaux. Le résultat est une série de signaux.

SignalSeries[de, à]

Prend les points spécifiés dans Série à partir des signaux situés dans l'intervalle de, à à partir de la série de signaux. Le résultat est une série de signaux.

SignalSeries[Valeur scalaire]

Prend les valeurs Y avec le nombre spécifié dans Scalar Value à partir des signaux listés dans Series à partir de la série de signaux. Si la série de signaux a une composante Z, alors le résultat est un signal ou sinon une série de données.

SignalSeries[de, à]

Prend les points situés dans l'intervalle de, à à partir des signaux énumérés dans Série de la série de signaux. Le résultat est une série de signaux.

SignalSeries

Prend les points listés dans Series2 à partir des signaux listés dans Series1 de la série de signaux. Le résultat est une série de signaux.

SignalSeries[Matrice]

Prend les points avec les indices de colonne et de ligne listés dans Matrix à partir de la série de signaux. Le résultat est une courbe 3D.

Courbe spatiale[Valeur scalaire]

Prend la valeur Y avec le nombre spécifié dans ScalarValue de la courbe d'espace.

Courbe spatiale[de, à]

Prend les points situés dans l'intervalle de, à de la courbe d'espace. Le résultat est une courbe 3D.

SpaceCurve

Prend les points spécifiés dans Série de la courbe d'espace. Le résultat est une courbe 3D.

Le tableau suivant énumère toutes les combinaisons possibles d'opérateurs d'indexation des valeurs, à l'exception des cas hybrides :

Signal[[ScalarValue]]

Prend la valeur Y avec la valeur X spécifiée dans ScalarValue du signal. Le résultat est une valeur scalaire.

Signal [[de, à]]

Prend les points situés dans l'intervalle X de, à du signal. Le résultat est un signal.

Signal[]

Extrait du signal les points ayant les valeurs X spécifiées dans Série. Le résultat est un signal.

SignalSeries[[ScalarValue]]

Extrait le signal avec la valeur Z spécifiée dans ScalarValue de la série de signaux. Le résultat est un signal.

SignalSeries[[de, à]]]

Prend les signaux situés dans l'intervalle Z de, à de la série de signaux. Le résultat est une série de signaux.

SignalSeries[]

Extrait les signaux avec les valeurs Z spécifiées dans Série de la série de signaux. Le résultat est une série de signaux.

SignalSeries[[ ]][[ScalarValue]]

Prend toutes les valeurs Y avec la valeur X ScalarValue de la série de signaux. Si la série de signaux a une composante Z, alors le résultat est un signal ou sinon une série de données.

SignalSeries[[ ]][[de, à]]]

Prend les valeurs situées dans l'intervalle X de, à de la série de signaux. Le résultat est une série de signaux.

SignalSeries[[ ]][]

Prend les valeurs avec les valeurs X spécifiées dans Série à partir de la série de signaux. Le résultat est une série de signaux.

SignalSeries[[ScalarValue1]][[ScalarValue2]]

Prend la valeur Y avec la valeur X spécifiée dans ScalarValue2du signal avec les valeurs Z dans ScalarValue3de la série de signaux. Le résultat est une valeur scalaire.

SignalSeries[[ScalarValue]][[from, to]]

Prend les valeurs situées dans la plage X de, à du signal avec la valeur Z en ScalarValue de la série de signaux. Le résultat est un signal.

SignalSeries[[ScalarValue]][]

Prend les points avec les valeurs X spécifiées dans Series du signal avec la valeur Z spécifiée dans ScalarValue de la série de signaux. Le résultat est un signal.

SignalSeries[[from, to]][[ScalarValue]]

Prend les valeurs Y avec la valeur X ScalarValue des signaux situés dans la plage Z de, à de la série de signaux. Si la série de signaux a une composante Z, alors le résultat est un signal ou sinon une série de données.

SignalSeries[[from1, to1]][[from2, to2]]

Prend les valeurs situées dans la plage X de2, à2 des signaux situés dans la plage Z de1, à1 de la série de signaux. Le résultat est une série de signaux.

SignalSeries[[de, à]][]

Extrait les points avec les valeurs X listées dans Série des signaux situés dans la plage Z de, à de la série de signaux. Le résultat est une série de signaux.

SignalSeries[[Series]][[ScalarValue]]

Prend les valeurs Y avec la valeur X ScalarValue des signaux avec les valeurs Z listées dans Series de la série de signaux. Si la série de signaux a une composante Z, alors le résultat est un signal ou sinon une série de données.

SignalSeries[][[de, vers]]

Prend les points situés dans l'intervalle X de, à des signaux avec les valeurs Z spécifiées dans Série de la série de signaux. Le résultat est une série de signaux.

SignalSeries[[Series1]][[Series2]]

Prend les points avec les valeurs X listées dans Series2 des signaux avec les valeurs Z listées dans Series1 de la série de signaux. Le résultat est une série de signaux.

Courbe spatiale[[Valeur scalaire]]

Prend la valeur Y avec la valeur X spécifiée dans ScalarValue de la courbe d'espace. Le résultat est une valeur scalaire.

Courbe spatiale[[de, à]]]

Prend les points situés dans l'intervalle X de, à de la courbe d'espace. Le résultat est une courbe 3D.

Série[[SpaceCurve]]

Extrait de la courbe d'espace les points ayant les valeurs X spécifiées dans Série. Le résultat est une courbe 3D.

Disponible dans

FlexPro View, Basic, Professional, Developer Suite

Exemples

Série de données[0n]

Prend le premier élément d'une série de données.

Série de données[-1n]

Prend le dernier élément d'une série de données.

DataSeries[100n, -1n] ou Data Series[100n, Empty]

Prend toutes les valeurs d'une série de données en commençant par la 101e valeur.

Série de données[0n, 100n] ou Série de données[Vide, 100n]

Prend les 101 premières valeurs d'une série de données.

Signal[(NumberOfRows(Signal) / 2, 0n, 2n)]

Prend un point sur deux dans un signal.

Signal[(NumberOfRows(Signal), -1n, -1n)]

Inverse la séquence de tous les points d'un signal.

SignalSeries[Sort(SignalSeries, SORT_Z + SORT_INDEX)]

Re-trie une série de signaux de façon à ce que la composante Z soit croissante.

DataMatrix[ ][0n]

Prend la première ligne d'une matrice de données.

Série de données[2 Pi]

Prend le septième élément d'une série de données, puisque l'unité Pi a la dimension SI 1 et 2 Pi transformé à l'unité 1 donne 6,2831853 et est arrondi à 6.

DataMatrix[{ {1, 0}, {0, 1} }]

Prend deux valeurs d'une matrice de données. Correspond à { DataMatrix[1][0], DataMatrix[0][1] }.

 

Voir aussi

Affectation indexée

Partager l’article ou envoyer par mail :

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