Datenstrukturen aufbauen
FPScript bietet Ihnen Operatoren und Funktionen, mit denen Sie eigene Datenstrukturen aufbauen können.
Lineare Datenreihen
Dieser Datenreihenoperator erstellt z. B. eine Datenreihe mit aufsteigenden Werten:
(100, 0., 1.)
100 ist die Werteanzahl, 0. ist der Startwert und 1. die Schrittweite. Wenn Sie lieber den Startwert, den Endwert und das Abtastintervall angeben, verwenden Sie die Series-Funktion:
Series(0, 100, 1)
erzeugt eine Datenreihe mit 101 Werten mit Startwert 0, Endwert 100 und Abtastintervall 1. Der Datentyp ist hier immer 64-Bit Fließkommazahl.
Wenn Sie Größen verwenden, können Sie unterschiedliche Einheiten angeben, die jedoch kompatibel sein müssen:
(2000, 0 s, 1 ms) oder Series(0 s, 2 s, 1 ms)
Das Ergebnis erhält die Einheit, die am weitesten links steht, entspricht also:
(2000, 0 s, 0.001 s)
Datenreihen und Matrizen mit konstantem Inhalt
Der Vervielfachungsoperator dient zum Anlegen von Datenreihen oder Datenmatrizen mit konstantem Inhalt:
1.5 # 100n
Obiges Beispiel erzeugt eine Datenreihe mit 100-mal dem Wert 1.5. Der Einzelwert 1.5 wurde also 100-mal vervielfacht.
1.5 # 100n # 20n erzeugt eine zweidimensionale Datenmatrix mit 20 Datenreihen mit je 100 Werten.
TRUE # Shape(Matrix) erzeugt eine Matrix von Wahrheitswerten, deren Zeilen- und Spaltenanzahl einer vorhandenen Matrix entspricht.
Auch hier können Sie Größen vervielfachen:
1.5 N m # 100n
Datenreihen und Matrizen mit variablem Inhalt
Sie können auch unterschiedliche Einzelwerte zu Datenreihen und Datenreihen zu Datenmatrizen bündeln:
{ 1.5, 2.6, 7.8 }
Der Bündeln-Operator bündelt die Einzelwerte zu einer Datenreihe mit drei Werten. Die Liste kann beliebig lang werden und natürlich können Sie statt konstanten Einzelwerten auch beliebige arithmetische Ausdrücke schreiben, die Einzelwerte liefern.
{ Datenreihe1, Datenreihe2, Datenreihe3 } bündelt drei eindimensionale Datenreihen zu einer zweidimensionalen Datenmatrix. Die Datenreihen sollten gleich lang sein.
Alle Elemente einer Datenreihe oder Datenmatrix haben den gleichen Datentyp. Dies gilt nicht für die Komponenten der zusammengesetzten Datenstrukturen, z. B. kann die X-Komponente eines Signals einen anderen Datentyp haben als die Y-Komponente.
Statt Zahlenwerten können Sie auch Größen bündeln. Es genügt, beim ersten Wert eine Einheit anzugeben, diese gilt dann auch für die weiteren Werte:
{ 1.5 kg, 2.6, 7.8 }
Wenn Sie unterschiedliche Einheiten angeben, müssen diese kompatibel sein. Das Ergebnis erhält die Einheit der ersten Größe:
{ 50 mV, 0.5 V, -0.7 V } entspricht der Eingabe { 50 mV, 500 mV, -700 mV }.
Listen mit mehreren unabhängigen Elementen
Der Listenoperator fasst mehrere Werte oder Größen zusammen, die ihrerseits beliebige Datenstrukturen und Datentypen haben können. Jedes Element einer Liste kann optional mit einem Namen versehen werden. Da jedes Listenelement wiederum eine Liste sein kann, können beliebig tief geschachtelte Strukturen aufgebaut werden.
[ <Solution> Datenreihe, <ChiSquare> Einzelwert ] fasst den aus einer Kurvenanpassung stammenden Lösungsvektor und das Anpassungsmaß in einer Liste zusammen. Die in dreieckigen Klammern angegebenen Namen sind optional und bezeichnen die Listenelemente.
Zum einfachen Erstellen einer Liste von Objekten können Sie die Platzhalter '*' und '?' in Pfadnamen verwenden:
'\Messung*\Signal' entspricht [\Messung1\Signal, \Messung2\Signal, ...].
Verwenden Sie den Platzhalter '*' für eine beliebig lange Zeichenfolge und den Platzhalter '?' für ein einzelnes Zeichen.
Hinweis Die Verwendung von Listenelementnamen wird ab Version 10 von FlexPro nicht mehr empfohlen. Verwenden Sie stattdessen die Funktion AssignHeader, um den Listenelementen Kopfinformationen zuzuweisen.
Listen werden für mehrkanalige Auswertungen eingesetzt oder wenn in einem einzigen Berechnungsvorgang mehrere voneinander unabhängige Ergebnisse entstehen, die sich nicht separat berechnen lassen.
Um auf ein Listenelement zuzugreifen, können Sie, falls vorhanden, dessen Namen verwenden oder die Position des Elementes in der Liste:
Liste.ChiSquare greift auf das zweite Element in der oben angegebenen Liste zu.
Liste.[1n] führt zum gleichen Ergebnis, ohne den Namen des Elementes zu verwenden.
Mit der Funktion ListToSeries können Sie eine Liste mit Elementen gleicher Struktur in eine Datenreihe, Datenmatrix oder Signalreihe umwandeln.
Zusammengesetzte Datenstrukturen aufbauen
Aus den einfachen Datenstrukturen Datenreihe und Datenmatrix können Sie mit der Funktion Signal die zusammengesetzten Datenstrukturen Signal, Signalreihe und Raumkurve aufbauen:
Signal(Amplitude, Zeit) fügt zwei Datenreihen mit Messwerten und den dazu gehörenden Zeitwerten zu einem Signal zusammen. Amplitude und Zeit sind dann die Komponenten des Signals.
Daten verketten
Der Verkettungsoperator hängt Datensätze aneinander:
Datenreihe1 : Datenreihe2
Sie können auch Signale aneinanderhängen. In diesem Fall wird die X-Komponente des zweiten Signals automatisch so verschoben, dass sie die des ersten nahtlos fortsetzt.
Wenn Sie Größen verketten, wird die Einheit des rechten Argumentes an die des linken angepasst.