Résultat des formules

23.08.2021

Lorsqu'une formule est traitée, le résultat de la dernière instruction est enregistré comme le résultat de la formule et renvoyé à l'appelant.

L'exemple suivant génère un signal avec une onde sinusoïdale en plusieurs étapes :

Dim x, y
// Créer une série de données avec 100 valeurs temporelles croissantes
x = (100, 0 s, 0,1 s)
// Sinus avec une fréquence de 3,5 Hz et une amplitude de 5 V
y = 5 V * Sin(2 Pi * 3,5 Hz * x)
// Combinez X et Y pour former le signal
Signal(y, x)

Le résultat de la formule est la valeur renvoyée par la fonction Signal.

Si vous ne souhaitez pas transmettre le résultat de la dernière instruction, vous devez utiliser l'instruction Return:

Si NumberOfRows(Signal) < 2n Then
// Si Signal a moins de 2 valeurs, alors 
// passe la valeur à virgule flottante invalide
    retour ?
End
// Sinon, calculer le taux d'échantillonnage
1. / (Signal.x[1n] - Signal.x[0n])

FlexPro recalcule très rarement les formules. Il garantit que chaque formule n'est calculée qu'une seule fois au cours d'un processus de mise à jour. Lesformules avec arguments constituent une exception. Ils sont calculés à chaque appel, même si les mêmes arguments sont passés plusieurs fois.

Si un résultat est déjà présent lors de la procédure de mise à jour précédente, FlexPro le vérifie d'abord pour voir s'il est nécessaire d'effectuer un nouveau calcul. C'est le cas lorsque la formule est basée sur des données qui ont changé depuis le dernier calcul ou que la formule utilise des fonctions dont le résultat est déterministe, par exemple la fonction aléatoire. Si le résultat existant est toujours valable, il est réutilisé sans nouveau calcul.

Partager l’article ou envoyer par mail :

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