Affectation indexée (FPScript)

23.08.2021

Attribue une nouvelle valeur à une section d'un ensemble de données.

Syntaxe

Terme Index1[Index2] = Expression

Index1 représente les variantes suivantes :

[]

ou

[Index]

ou

[From, To]

ou

[[ ]]

ou

[[ValueIndex]]

ou

[[ValueFrom, ValueTo]]

et Index2représente les variantes suivantes :

[Index]

ou

[From, To]

ou

[[ValueIndex]]

ou

[[ValueFrom, ValueTo]]

La syntaxe de l'assignation indexée se compose des éléments suivants :

Élément

Description

Terme

Une expression qui désigne une variable ou un composant ou un élément de liste dans celle-ci. Dans la cible déterminée de cette manière, l'affectation indexée remplace une partie des données.

Index

Spécifie le(s) numéro(s) de la (des) valeur(s) à indexer. Peut être une valeur scalaire intégrale ou une série de données avec des valeurs intégrales.

De

Spécifie l'indice de la première valeur d'une plage à indexer. Doit être une valeur scalaire intégrale.

A

Spécifie l'indice de la dernière valeur d'une plage à indexer. Doit être une valeur scalaire intégrale.

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.

Expression

Toute expression avec une valeur scalaire ou une autre structure de données qui doit correspondre exactement à la section indexée. Selon l'indice, l'expression doit être une valeur scalaire, une série de données ou une matrice de données. Si vous spécifiez une valeur scalaire, celle-ci est affectée à tous les éléments indexés de l'ensemble de données.

Remarques

En utilisant des parenthèses simples pour écrire Index, vous adressez les données à modifier par leurs indices. Lorsque vous appliquez l'affectation indexée à un signal, une série de signaux ou une courbe d'espace, seule la composante Y est prise en compte, à moins que vous n'adressiez explicitement la composante X ou Z avec l'opérateur de composante.

Les indices sont comptés à partir de zéro. Les indices 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. Avec une matrice de données à deux dimensions, vous pouvez spécifier deux indices consécutivement. Le premier indice fait alors référence à la série de données dans la matrice de données et le second indice, facultatif, aux valeurs de la série de données extraites à l'aide du premier indice. Si vous laissez le premier index vide ou si vous spécifiez Index comme la valeur booléenne TRUE, cela indexe toutes les séries de données.

Comme le montre la syntaxe, vous pouvez spécifier l'index de trois manières différentes : Si vous spécifiez une valeur scalaire (scalar value index) dans l'index, l'index prend 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 éléments listés dans la série de données ou les éléments de la plage sont pris. Le rang du résultat correspond au rang de l'expression à indexer.

Si Index, From ou To est une quantité, alors elle doit avoir la dimension SI 1 et elle sera transformée en unité 1 avant l'indexation.

Si ValueIndex est écrit avec des doubles crochets, l'indexation ne se fait pas via les indices, mais via les valeurs X ou Z. Par conséquent, l'ensemble de données doit avoir une structure de données composite. 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 l'ensemble des données, 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 de l'onglet 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.

Le type de données Expression est adapté avant l'affectation au type de données Terme, le cas échéant.

Si le terme et l'expression sont des quantités, ils doivent avoir la même dimension SI et l'unité de l'expression est transformée avant d'être attribuée à l'unité du terme. Si seulement Termeest une quantité, alors la même unité est utilisée pour L'expression. Si seulement Expression est une grandeur et que le gestionnaire d'unités est réglée sur Strict, un message d'erreur apparaît. Sinon, l'unité est ignorée.

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. Dans ce cas, Expression, Index1 et Index2 peuvent également être spécifiés sous forme de liste.

Remarque : 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, à l'exception des cas hybrides :

Structure de données

Opérations autorisées

DataSeries[ScalarValue] = ScalarValue

Écrase la valeur avec le nombre spécifié dans ScalarValue de la série de données.

DataSeries[from, to] = DataSeries ou ScalarValue

Écrase les valeurs situées dans l'intervalle de, à de la série de données.

DataSeries[Series] = DataSeries ou ScalarValue

Écrase les valeurs spécifiées dans Series de la série de données.

Signal[ScalarValue] = ScalarValue

Écrase la valeur avec le nombre spécifié dans ScalarValue dans la composante Y du signal.

Signal[from, to] = Signal, DataSeries ou ScalarValue

Écrase les valeurs du signal situées dans la plage de, à.

Signal[Series] = Signal, DataSeries ou ScalarValue

Écrase les valeurs de signal spécifiées dans Série.

SpaceCurve[ScalarValue] = ScalarValue

Écrase la valeur avec le nombre spécifié dans ScalarValue dans la composante Y de la courbe spatiale.

SpaceCurve[from, to] = SpaceCurve, Signal, DataSeries ou ScalarValue

Écrase les valeurs comprises dans l'intervalle de, à dans la courbe d'espace.

SpaceCurve[Series] = SpaceCurve, Signal, DataSeries ou ScalarValue

Écrase les valeurs spécifiées dans Série dans la courbe d'espace.

DataMatrix[ScalarValue] = DataSeries ou ScalarValue

Écrase la colonne avec le nombre spécifié dans ScalarValue de la matrice de données.

DataMatrix[from, to] = DataMatrix ou ScalarValue

Écrase les colonnes situées dans l'intervalle de, à de la matrice de données.

DataMatrix[Series] = DataMatrix ou ScalarValue

Écrase les colonnes spécifiées dans Série de la matrice de données.

DataMatrix[][ScalarValue] = DataSeries ou ScalarValue

Écrase la ligne de la matrice de données avec le nombre spécifié dans ScalarValue.

DataMatrix[][from, to] = DataMatrix ou ScalarValue

Écrase les lignes situées dans l'intervalle de, à de la matrice de données.

DataMatrix[][Series] = DataMatrix ou ScalarValue

Écrase les lignes spécifiées dans Série de la matrice de données.

DataMatrix[ScalarValue1][ScalarValue2] = ScalarValue

Écrase la valeur avec la colonne spécifiée dans ScalarValue1 et la ligne spécifiée avec ScalarValue2 de la matrice de données.

DataMatrix[ScalarValue][from, to] = DataSeries ou ScalarValue

Écrase les valeurs comprises dans l'intervalle de, à de la colonne spécifiée dans ScalarValue de la matrice de données.

DataMatrix[ScalarValue][Series] = DataSeries ou ScalarValue

Écrase les valeurs spécifiées dans Series de la colonne spécifiée dans ScalarValue de la matrice de données.

DataMatrix[from, to][ScalarValue] = DataSeries ou ScalarValue

Écrase la valeur spécifiée dans ScalarValue des colonnes situées dans l'intervalle de, à de la matrice de données.

DataMatrix[from1, to1][from2, to2] = DataMatrix ou ScalarValue

Écrase les lignes situées dans l'intervalle de2, à2 des colonnes situées dans l'intervalle de1, à1 de la matrice de données.

DataMatrix[from, to][Series] = DataMatrix ou ScalarValue

Écrase les lignes spécifiées dans Série à partir des colonnes situées dans l'intervalle de, à à partir de la matrice de données.

DataMatrix[Series][ScalarValue] = DataSeries ou ScalarValue

Écrase la valeur spécifiée dans ScalarValue à partir des colonnes spécifiées dans Series de la matrice de données.

DataMatrix[Series][from, to] = DataMatrix ou ScalarValue

Écrase les lignes situées dans l'intervalle de, à partir des colonnes énumérées dans Série de la matrice de données.

DataMatrix[Series1][Series2] = DataMatrix ou ScalarValue

Écrase les lignes listées dans Series2 à partir des colonnes listées dans Series1 de la matrice de données.

SignalSeries[ScalarValue] = Signal, DataSeries ou ScalarValue

Écrase la colonne avec le nombre spécifié dans ScalarValue dans la série de signaux.

SignalSeries[from, to] = Signal, DataMatrix ou ScalarValue

Écrase les colonnes dans l'intervalle de, à dans la série de signaux.

SignalSeries[Series] = Signal, DataMatrix ou ScalarValue

Écrase les colonnes spécifiées dans Série dans la série du signal.

SignalSeries[][ScalarValue] = Signal, DataSeries ou ScalarValue

Écrase la ligne avec le nombre spécifié dans ScalarValue dans la série de signaux.

SignalSeries[][from, to] = SignalSeries, DataMatrix ou ScalarValue

Écrase les lignes de l'intervalle de, à dans la série de signaux.

SignalSeries[][Series] = SignalSeries, DataMatrix ou ScalarValue

Écrase les lignes spécifiées dans Série dans la série du signal.

SignalSeries[ScalarValue1][ScalarValue2] = ScalarValue

Écrase la valeur avec la colonne spécifiée dans ScalarValue1 et la ligne spécifiée avec ScalarValue2 dans la composante Y de la série de signaux.

SignalSeries[ScalarValue][from, to] = Signal, DataSeries ou ScalarValue

Écrase les valeurs situées dans l'intervalle de, à de la colonne spécifiée dans ScalarValue dans la série de signaux.

SignalSeries[ScalarValue][Series] = Signal, DataSeries ou ScalarValue

Écrase les valeurs spécifiées dans Série de la colonne spécifiée dans Valeur scalaire de la série de signaux.

SignalSeries[from, to][ScalarValue] = Signal, DataSeries ou ScalarValue

Écrase la valeur spécifiée dans ScalarValue des colonnes situées dans l'intervalle de, à de la série de signaux.

SignalSeries[from1, to1][from2, to2] = SignalSeries, DataMatrix ou ScalarValue

Écrase les lignes situées dans l'intervalle de2, à2 des colonnes situées dans l'intervalle de1, à1 de la série de signaux.

SignalSeries[from, to][Series] = SignalSeries, DataMatrix ou ScalarValue

Écrase les lignes spécifiées dans Série à partir des colonnes situées dans l'intervalle de, à à partir de la série de signaux.

SignalSeries[Series][ScalarValue] = Signal, DataSeries ou ScalarValue

Écrase la valeur spécifiée dans Valeur scalaire à partir des colonnes spécifiées dans Série dans la série de signaux.

SignalSeries[Series][from, to] = SignalSeries, DataMatrix ou ScalarValue

Remplace les lignes de l'intervalle de, à à partir des colonnes énumérées dans Série de la série de signaux.

SignalSeries[Series1][Series2] = SignalSeries, DataMatrix ou ScalarValue

Écrase les lignes spécifiées dans Series2 à partir des colonnes listées dans Series1 de la série du signal.

Signal[[ScalarValue]] = ScalarValue

Écrase la valeur Y avec la valeur X spécifiée dans ScalarValue dans le signal.

Signal[[from, to]] = Signal, DataSeries ou ScalarValue

Écrase les valeurs Y dans la plage de , à dans le signal.

Signal[[Series]] = Signal, DataSeries ou ScalarValue

Écrase les valeurs avec les valeurs X spécifiées dans Série dans le signal.

SpaceCurve[[ScalarValue]] = ScalarValue

Remplace la valeur Y par la valeur X spécifiée dans ScalarValue dans la courbe d'espace.

SpaceCurve[[from, to]] = SpaceCurve, Signal, DataSeries ou ScalarValue

Écrase les valeurs de la plage X de, à dans la courbe d'espace.

SpaceCurve[[Series]] = SpaceCurve, Signal, DataSeries ou ScalarValue

Écrase les valeurs avec les valeurs X spécifiées dans Série dans la courbe d'espace.

SignalSeries[[ScalarValue]] = Signal, DataSeries ou ScalarValue

Écrase la colonne avec la valeur X spécifiée dans ScalarValue dans la série de signaux.

SignalSeries[[from, to]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les colonnes avec les valeurs X dans l'intervalle de, à dans la série de signaux.

SignalSeries[[Series]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les colonnes avec les valeurs X spécifiées dans Série dans la série de signaux.

SignalSeries[[]][[ScalarValue]] = Signal, DataSeries ou ScalarValue

Écrase la ligne avec la valeur Z spécifiée dans ScalarValue dans la série de signaux.

SignalSeries[[]][[from, to]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les lignes avec les valeurs X dans l'intervalle de, à dans la série de signaux.

SignalSeries[[]][]Série]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les lignes avec les valeurs X spécifiées dans Série dans la série de signaux.

SignalSeries[[ScalarValue1]][[ScalarValue2]] = ScalarValue

Écrase la valeur Y dans la valeur X spécifiée dans ScalarValue1 et la valeur Z spécifiée dans ScalarValue2 dans la série de signaux.

SignalSeries[[ScalarValue]][[from, to]] = Signal, DataSeries ou ScalarValue

Écrase les valeurs avec les valeurs X dans la plage de , à dans la colonne avec la valeur Z spécifiée dans ScalarValue dans la série de signaux.

SignalSeries[[ScalarValue]][[Series]] = Signal, DataSeries ou ScalarValue

Écrase les valeurs avec les valeurs Y spécifiées dans Series dans la colonne avec la valeur X spécifiée dans ScalarValue dans la série de signaux.

SignalSeries[[from, to]][[ScalarValue]] = Signal, DataSeries ou ScalarValue

Écrase les valeurs avec la valeur X spécifiée dans ScalarValue dans les colonnes avec les valeurs Z dans la plage de, à de la série de signaux.

SignalSeries[[from1, to1]][[from2, to2]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les valeurs avec les valeurs X dans la plage de 2, à 2 dans les colonnes avec les valeurs Z dans la plage de 1, à 1 de la série de signaux.

SignalSeries[[from, to]][[Series]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les valeurs avec les valeurs X listées dans Série en colonnes avec les valeurs Z dans la plage de, à de la série de signaux.

SignalSeries[[Series]][[ScalarValue]] = Signal, DataSeries ou ScalarValue

Écrase les valeurs avec la valeur X spécifiée dans ScalarValue dans les colonnes avec les valeurs Z listées dans Series dans la série de signaux.

SignalSeries[[Series]][[from, to]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les valeurs avec les valeurs X dans la plage de , à dans les colonnes avec les valeurs Z énumérées dans Série dans la série de signaux.

SignalSeries[[Series1]][[Series2]] = SignalSeries, DataMatrix ou ScalarValue

Écrase les valeurs avec les valeurs X listées dans Series2 en colonnes avec les valeurs Z listées dans Series1 dans la série de signaux.

Disponible dans

FlexPro View, Basic, Professional, Developer Suite

Exemples

Liste.[1n][0n, 99n] = ?

Définit les 100 premiers éléments de la série de données, qui se trouvent dans le deuxième élément de la liste enregistrée dans la variable Liste, comme valeurs invalides.

Signal[-3n, -1n] = { 3.5, 4.8, 1.2 }

Change les trois dernières valeurs de la composante Y de Signal.

Signal.X[0n] = 1

Définit la première valeur X dans Signal à la valeur 1.

Signal[[1,2 s, 5,4 s]] = 0

Règle toutes les valeurs Y dans la plage X de 1,2 s à 5,4 s dans le signal à la valeur 0.

Série[{1n, 3n, -1n}] = ?

Définit la deuxième, troisième et dernière valeur dans les Sériecomme valeurs invalides.

DataMatrix[][0n] = Row

Remplace la première ligne de DataMatrixavec les valeurs de la série de données Row.

 

Voir aussi

Opérateur d'index

Affectation

Partager l’article ou envoyer par mail :

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