Saltar navegación

Documentación de FlexPro 2025

Resultado de fórmulas

Cuando se procesa una fórmula, el resultado de la última instrucción se guarda como resultado de la fórmula y se devuelve al autor de llamada.

El siguiente ejemplo genera una señal con una onda senoidal en varios pasos:

Dim x, y
// Crear serie de datos con 100 valores de tiempo ascendentes
x = (100, 0 s, 0.1 s)
// Seno con frecuencia 3,5 Hz y amplitud 5 V
y = 5 V * Sin(2 Pi * 3.5 Hz * x)
// Combinar X e Y en una señal
Signal(y, x)

El resultado de la fórmula es el valor devuelto por la función Signal.

Si no desea transferir el resultado de la última instrucción, debe utilizar la instrucción Return:

If NumberOfRows(Signal) < 2n Then
// Si la señal tiene menos de 2 valores, entonces
// transferir valor en coma flotante inválido
    return ?
End
// En caso contrario, calcular frecuencia de muestreo
1. / (Signal.x[1n] - Signal.x[0n])

FlexPro es muy económico a la hora de recalcular fórmulas. Se garantiza que cada fórmula solo se calcula una vez durante un proceso de actualización. Las fórmulas con argumentos, que se calculan cada vez que se llaman, son una excepción, aunque se transfieran varias veces los mismos argumentos.

Si ya existe un resultado de una actualización anterior, FlexPro comprueba primero si es necesario un nuevo cálculo. Este es el caso si los datos en los que se basa la fórmula han cambiado desde el último cálculo o la fórmula utiliza funciones cuyo resultado es indefinido, por ejemplo, la función aleatoria. Si el resultado existente sigue siendo válido, se reutiliza sin volver a calcularlo.