Indizierte Zuweisung (FPScript)
Weist einem Ausschnitt eines Datensatzes einen neuen Wert zu.
Syntax
Term Index1[Index2] = Ausdruck
wobei Index1 für folgende Varianten steht:
[]
oder
[Index]
oder
[von, bis]
oder
[[ ]]
oder
[[Werteindex]]
oder
[[WertVon, WertBis]]
und Index2 für folgende Varianten steht:
[Index]
oder
[von, bis]
oder
[[Werteindex]]
oder
[[WertVon, WertBis]]
Die Syntax der indizierten Zuweisung besteht aus folgenden Teilen:
Teil |
Beschreibung |
---|---|
Term |
Ein Ausdruck, der eine Variable oder eine Komponente oder ein Listenelement darin bezeichnet. Im so bestimmten Ziel wird durch die indizierte Zuweisung ein Teil der Daten ersetzt. |
Index |
Gibt die Nummer(n) der zu indizierenden Wert(e) an. Kann ein ganzzahliger Einzelwert oder eine Datenreihe mit ganzzahligen Werten sein. |
von |
Gibt den Index des ersten Wertes eines zu indizierenden Bereichs an. Muss ein ganzzahliger Einzelwert sein. |
bis |
Gibt den Index des letzten Wertes eines zu indizierenden Bereichs an. Muss ein ganzzahliger Einzelwert sein. |
WerteIndex |
Gibt die X- bzw. Z-Werte der zu indizierenden Wert(e) bzw. Signale an. Kann ein numerischer Einzelwert, eine Datenreihe mit numerischen Werten oder vom Datentyp Leer sein. |
WertVon |
Gibt den X- bzw. Z-Wert des ersten Wertes bzw. Signals eines zu indizierenden Bereichs an. Muss ein numerischer Einzelwert oder vom Datentyp Leer sein. |
WertBis |
Gibt den X- bzw. Z-Wert des letzten Wertes bzw. Signals eines zu indizierenden Bereichs an. Muss ein numerischer Einzelwert oder vom Datentyp Leer sein. |
Ausdruck |
Ein beliebiger Ausdruck, mit einem Einzelwert oder einer anderen Datenstruktur, die dann genau zu dem indizierten Ausschnitt passen muss. Je nach Index muss der Ausdruck ein Einzelwert, eine Datenreihe oder eine Datenmatrix sein. Wird ein Einzelwert angegeben, dann wird dieser allen indizierten Elementen im Datensatz zugewiesen. |
Anmerkungen
Durch den mit einfacher Klammer geschriebenen Index adressieren Sie die zu ändernden Daten über deren Indizes. Wenn Sie die indizierte Zuweisung auf ein Signal, eine Signalreihe oder eine Raumkurve anwenden, wird nur die Y-Komponente betrachtet, es sei denn, Sie adressieren mit dem Komponentenoperator explizit die X- oder Z-Komponente.
Die Indizes werden mit Null beginnend gezählt. Negative Indizes zählen vom Ende her, d. h. der Index -1 entspricht dem letzten Element, -2 dem vorletzten und so weiter. Bei einer zweidimensionalen Datenmatrix können zwei Indizes hintereinander angegeben werden. Der erste Index bezieht sich dann auf die Datenreihen in der Datenmatrix und der optionale zweite Index auf die Werte in den mit dem ersten Index extrahierten Datenreihen. Wenn Sie den ersten Index leer lassen oder Index als Wahrheitswert TRUE einsetzen, indiziert dieser alle Datenreihen.
Wie die Syntax aufzeigt, können Sie den Index in drei Varianten angeben: Wenn Sie im Index einen Einzelwert (Einzelwertindex) angeben, entnimmt der Index ein Element und der Rang des Ergebnisses vermindert sich um Eins. Wenn Sie als Index eine Datenreihe (Datenreihenindex) oder einen Bereich von, bis (Bereichsindex) angeben, werden die in der Datenreihe aufgeführten Elemente bzw. die im Bereich liegenden Elemente entnommen. Der Rang des Ergebnisses entspricht dem Rang des zu indizierenden Ausdrucks.
Ist Index, von oder bis eine Größe, dann muss diese die SI-Dimension 1 haben und wird vor der Indizierung auf die Einheit 1 transformiert.
Bei dem mit doppelter Klammer geschriebenen Werteindex erfolgt die Indizierung nicht über Indizes, sondern über X- bzw. Z-Werte. Der Datensatz muss demnach eine zusammengesetzte Datenstruktur haben. Signalreihen mit zweidimensionaler X-Komponente werden nicht unterstützt. Falls die angegebenen X- bzw. Z-Werte nicht exakt in dem Datensatz vorkommen, werden die Positionen der Werte verwendet, die den angegeben Werten am nächsten liegen. Zur Ermittlung der zu den angegebenen X- bzw. Z-Werten korrespondierenden Indizes verwendet der Werteindexoperator die Funktion SearchValue. Ungültige Fließkommawerte sind als Werteindizes nicht erlaubt.
Ist Werteindex, WertVon oder WertBis eine Größe, dann muss diese die gleiche SI-Dimension wie die entsprechende Komponente von Term haben und wird vor der Indizierung auf deren Einheit transformiert. Werden nur Zahlenwerte ohne Einheit angegeben, dann werden diese als in der entsprechenden Einheit vorliegend interpretiert.
Der Datentyp von Ausdruck wird vor der Zuweisung ggf. an den von Term angepasst.
Sind Term und Ausdruck Größen, dann müssen diese die gleiche SI-Dimension haben und die Einheit von Ausdruck wird vor der Zuweisung auf die Einheit von Term transformiert. Ist nur Term eine Größe, dann wird für Ausdruck die gleiche Einheit angenommen. Ist nur Ausdruck eine Größe, dann wird, wenn die Einheitenverwaltung auf Streng eingestellt ist, eine Fehlermeldung ausgegeben. Ansonsten wird die Einheit ignoriert.
Ist Term eine Liste, dann wird die Indexoperation elementweise ausgeführt und das Ergebnis ist ebenfalls eine Liste. In diesem Fall können Ausdruck, Index1 und Index2 ebenfalls als Listen angegeben werden.
Hinweis Beim Zugriff auf zweidimensionale Datensätze können Sie den Werteindexoperator und den Indexoperator kombinieren (hybrider Index).
Die folgende Tabelle führt alle möglichen Kombinationen mit Ausnahme der hybriden Fälle auf:
Datenstruktur |
Erlaubte Operationen |
---|---|
Datenreihe[Einzelwert] = Einzelwert |
Überschreibt den Wert mit der in Einzelwert angegebenen Nummer in der Datenreihe. |
Datenreihe[von, bis] = Datenreihe oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Werte in der Datenreihe. |
Datenreihe[Reihe] = Datenreihe oder Einzelwert |
Überschreibt die in Reihe angegebenen Werte in der Datenreihe. |
Signal[Einzelwert] = Einzelwert |
Überschreibt den Wert mit der in Einzelwert angegebenen Nummer in der Y-Komponente des Signals. |
Signal[von, bis] = Signal, Datenreihe oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Werte des Signals. |
Signal[Reihe] = Signal, Datenreihe oder Einzelwert |
Überschreibt die in Reihe angegebenen Werte des Signals. |
Raumkurve[Einzelwert] = Einzelwert |
Überschreibt den Wert mit der in Einzelwert angegebenen Nummer in der Y-Komponente der Raumkurve. |
Raumkurve[von, bis] = Raumkurve, Signal, Datenreihe oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Werte in der Raumkurve. |
Raumkurve[Reihe] = Raumkurve, Signal, Datenreihe oder Einzelwert |
Überschreibt die in Reihe angegebenen Werte in der Raumkurve. |
Datenmatrix[Einzelwert] = Datenreihe oder Einzelwert |
Überschreibt die Spalte mit der in Einzelwert angegebenen Nummer in der Datenmatrix. |
Datenmatrix[von, bis] = Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Spalten in der Datenmatrix. |
Datenmatrix[Reihe] = Datenmatrix oder Einzelwert |
Überschreibt die in Reihe angegebenen Spalten in dem Datenmatrix. |
Datenmatrix[][Einzelwert] = Datenreihe oder Einzelwert |
Überschreibt die Zeile mit der in Einzelwert angegebenen Nummer in der Datenmatrix. |
Datenmatrix[][von, bis] = Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Zeilen in der Datenmatrix. |
Datenmatrix[][Reihe] = Datenmatrix oder Einzelwert |
Überschreibt die in Reihe angegebenen Zeilen in der Datenmatrix. |
Datenmatrix[Einzelwert1][Einzelwert2] = Einzelwert |
Überschreibt einen Wert in der mit Einzelwert1 angegebenen Spalte und mit Einzelwert2 angegebenen Zeile in der Datenmatrix. |
Datenmatrix[Einzelwert][von, bis] = Datenreihe oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Werte in der in Einzelwert angegebenen Spalte in der Datenmatrix. |
Datenmatrix[Einzelwert][Reihe] = Datenreihe oder Einzelwert |
Überschreibt die in Reihe angegebenen Werte in der in Einzelwert angegebenen Spalte in der Datenmatrix. |
Datenmatrix[von, bis][Einzelwert] = Datenreihe oder Einzelwert |
Überschreibt den in Einzelwert angegebenen Wert in den im Bereich von, bis liegenden Spalten in der Datenmatrix. |
Datenmatrix[von1, bis1][von2, bis2] = Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von2,bis2 liegenden Zeilen in den im Bereich von1, bis1 liegenden Spalten in der Datenmatrix. |
Datenmatrix[von, bis][Reihe] = Datenmatrix oder Einzelwert |
Überschreibt die in Reihe aufgeführten Zeilen aus den im Bereich von, bis liegenden Spalten aus der Datenmatrix. |
Datenmatrix[Reihe][Einzelwert] = Datenreihe oder Einzelwert |
Überschreibt den in Einzelwert angegebenen Wert in den in Reihe aufgeführten Spalten in der Datenmatrix. |
Datenmatrix[Reihe][von, bis] = Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Zeilen in den in Reihe aufgeführten Spalten in der Datenmatrix. |
Datenmatrix[Reihe1][Reihe2] = Datenmatrix oder Einzelwert |
Überschreibt die in Reihe2 aufgeführten Zeilen in den in Reihe1 aufgeführten Spalten in der Datenmatrix. |
Signalreihe[Einzelwert] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Spalte mit der in Einzelwert angegebenen Nummer in der Signalreihe. |
Signalreihe[von, bis] = Signal, Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Spalten in der Signalreihe. |
Signalreihe[Reihe] = Signal, Datenmatrix oder Einzelwert |
Überschreibt die in Reihe angegebenen Spalten in der Signalreihe. |
Signalreihe[][Einzelwert] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Zeile mit der in Einzelwert angegebenen Nummer in der Signalreihe. |
Signalreihe[][von, bis] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Zeilen in der Signalreihe. |
Signalreihe[][Reihe] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die in Reihe angegebenen Zeilen in der Signalreihe. |
Signalreihe[Einzelwert1][Einzelwert2] = Einzelwert |
Überschreibt einen Wert in der mit Einzelwert1 angegebenen Spalte und mit Einzelwert2 angegebenen Zeile in der Y-Komponente der Signalreihe. |
Signalreihe[Einzelwert][von, bis] = Signal, Datenreihe oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Werte in der in Einzelwert angegebenen Spalte in der Signalreihe. |
Signalreihe[Einzelwert][Reihe] = Signal, Datenreihe oder Einzelwert |
Überschreibt die in Reihe angegebenen Werte in der in Einzelwert angegebenen Spalte in der Signalreihe. |
Signalreihe[von, bis][Einzelwert] = Signal, Datenreihe oder Einzelwert |
Überschreibt den in Einzelwert angegebenen Wert in den im Bereich von, bis liegenden Spalten in der Signalreihe. |
Signalreihe[von1, bis1][von2, bis2] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von2,bis2 liegenden Zeilen in den im Bereich von1, bis1 liegenden Spalten in der Signalreihe. |
Signalreihe[von, bis][Reihe] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die in Reihe aufgeführten Zeilen aus den im Bereich von, bis liegenden Spalten aus der Signalreihe. |
Signalreihe[Reihe][Einzelwert] = Signal, Datenreihe oder Einzelwert |
Überschreibt den in Einzelwert angegebenen Wert in den in Reihe aufgeführten Spalten in der Signalreihe. |
Signalreihe[Reihe][von, bis] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die im Bereich von, bis liegenden Zeilen in den in Reihe aufgeführten Spalten in der Signalreihe. |
Signalreihe[Reihe1][Reihe2] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die in Reihe2 aufgeführten Zeilen in den in Reihe1 aufgeführten Spalten in der Signalreihe. |
Signal[[Einzelwert]] = Einzelwert |
Überschreibt den Y-Wert mit dem in Einzelwert angegebenen X-Wert in dem Signal. |
Signal[[von, bis]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die im X-Bereich von, bis liegenden Y-Werte in dem Signal. |
Signal[[Reihe]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Werte mit den in Reihe angegebenen X-Werten in dem Signal. |
Raumkurve[[Einzelwert]] = Einzelwert |
Überschreibt den Y-Wert mit dem in Einzelwert angegebenen X-Wert in der Raumkurve. |
Raumkurve[[von, bis]] = Raumkurve, Signal, Datenreihe oder Einzelwert |
Überschreibt die im X-Bereich von, bis liegenden Werte in der Raumkurve. |
Raumkurve[[Reihe]] = Raumkurve, Signal, Datenreihe oder Einzelwert |
Überschreibt die Werte mit den in Reihe angegebenen X-Werten in der Raumkurve. |
Signalreihe[[Einzelwert]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Spalte mit dem in Einzelwert angegebenen X-Wert in der Signalreihe. |
Signalreihe[[von, bis]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Spalten mit den im Bereich von, bis liegenden X-Werten in der Signalreihe. |
Signalreihe[[Reihe]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Spalten mit den in Reihe angegebenen X-Werten in der Signalreihe. |
Signalreihe[[]][[Einzelwert]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Zeile mit dem in Einzelwert angegebene Z-Wert in der Signalreihe. |
Signalreihe[[]][[von, bis]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Zeilen mit den im Bereich von, bis liegenden Z-Werten in der Signalreihe. |
Signalreihe[[]]][Reihe]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Zeilen mit den in Reihe angegebenen Z-Werten in der Signalreihe. |
Signalreihe[[Einzelwert1]][[Einzelwert2]] = Einzelwert |
Überschreibt den Y-Wert in dem in Einzelwert1 angegebenen X-Wert und dem in Einzelwert2 angegebenen Z-Wert in der Signalreihe. |
Signalreihe[[Einzelwert]][[von, bis]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Werte mit den im Bereich von, bis liegenden X-Werten in der Spalte mit dem in Einzelwert angegebenen Z-Wert in der Signalreihe. |
Signalreihe[[Einzelwert]][[Reihe]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Werte mit den in Reihe angegebenen Y-Werten in der Spalte mit dem in Einzelwert angegebenen X-Wert in der Signalreihe. |
Signalreihe[[von, bis]][[Einzelwert]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Werte mit dem in Einzelwert angegebenen X-Wert in den Spalten mit den im Bereich von, bis liegenden Z-Werten in der Signalreihe. |
Signalreihe[[von1, bis1]][[von2, bis2]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Werte mit den im Bereich von2,bis2 liegenden X-Werten in den Spalten mit den im Bereich von1, bis1 liegenden Z-Werten in der Signalreihe. |
Signalreihe[[von, bis]][[Reihe]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Werte mit den in Reihe aufgeführten X-Werten in den Spalten mit den im Bereich von, bis liegenden Z-Werten in der Signalreihe. |
Signalreihe[[Reihe]][[Einzelwert]] = Signal, Datenreihe oder Einzelwert |
Überschreibt die Werte mit dem in Einzelwert angegebenen X-Wert in den Spalten mit den in Reihe aufgeführten Z-Werten in der Signalreihe. |
Signalreihe[[Reihe]][[von, bis]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Werte mit den im Bereich von, bis liegenden X-Werten in den Spalten mit den in Reihe aufgeführten Z-Werten in der Signalreihe. |
Signalreihe[[Reihe1]][[Reihe2]] = Signalreihe, Datenmatrix oder Einzelwert |
Überschreibt die Werte mit den in Reihe2 aufgeführten X-Werten in den Spalten mit den in Reihe1 aufgeführten Z-Werten in der Signalreihe. |
Verfügbarkeit
FlexPro View, Basic, Professional, Developer Suite
Beispiele
Liste.[1n][0n, 99n] = ? |
setzt die ersten 100 Elemente in der Datenreihe, die sich im zweiten Element der in der Variable Liste gespeicherten Liste befindet, ungültig. |
Signal[-3n, -1n] = { 3.5, 4.8, 1.2 } |
ändert die letzten drei Werte in der Y-Komponente von Signal. |
Signal.X[0n] = 1 |
Setzt den ersten X-Wert in Signal auf den Wert 1. |
Signal[[1.2 s, 5.4 s]] = 0 |
Setzt alle Y-Werte im X-Bereich von 1.2 s bis 5.4 s im Signal auf den Wert 0. |
Reihe[{1n, 2n, -1n}] = ? |
setzt den zweiten, dritten und letzten Wert in Reihe ungültig. |
Datenmatrix[][0n] = Zeile |
ersetzt die erste Zeile in Datenmatrix durch die in Werte in der Datenreihe Zeile. |