Ergebnis von Formeln
Wenn eine Formel abgearbeitet wird, wird das Ergebnis der letzten Anweisung als Ergebnis der Formel gespeichert und an den Aufrufer zurückgegeben.
Folgendes Beispiel erzeugt ein Signal mit einer Sinusschwingung in mehreren Schritten:
Dim x, y
// Datenreihe mit 100 aufsteigenden Zeitwerten anlegen
x = (100, 0 s, 0.1 s)
// Sinus mit Frequenz 3.5 Hz und Amplitude 5 V
y = 5 V * Sin(2 Pi * 3.5 Hz * x)
// X und Y zu Signal zusammenfassen
Signal(y, x)
Das Ergebnis der Formel ist der Wert, der von der Funktion Signal zurückgegeben wird.
Wenn Sie einmal nicht das Ergebnis der letzten Anweisung übergeben möchten, müssen Sie die Return-Anweisung verwenden:
If NumberOfRows(Signal) < 2n Then
// Wenn Signal weniger als 2 Werte hat, dann ungültigen
// Fließkommawert übergeben
return ?
End
// Ansonsten die Abtastrate berechnen
1. / (Signal.x[1n] - Signal.x[0n])
FlexPro geht bei der Neuberechnung von Formeln sehr sparsam vor. Es ist sichergestellt, dass jede Formel innerhalb eines Aktualisierungsvorgangs nur ein einziges Mal berechnet wird. Eine Ausnahme bilden Formeln mit Argumenten, welche bei jedem Aufruf berechnet werden, auch wenn mehrfach die gleichen Argumente übergeben werden.
Wenn bereits ein Ergebnis aus einem vorherigen Aktualisierungslauf vorliegt, prüft FlexPro zunächst nach, ob eine Neuberechnung erforderlich ist. Dies ist dann der Fall, wenn sich die der Formel zugrundeliegenden Daten seit der letzten Berechnung geändert haben oder die Formel Funktionen verwendet, deren Ergebnis unbestimmt ist, z. B. die Zufallsfunktion. Wenn das vorhandene Ergebnis noch gültig ist, wird dieses ohne Neuberechnung wiederverwendet.