Indizierte Zuweisung (FPScript)

23.08.2021

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.

 

Siehe auch

Indexoperator

Zuweisung

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren