FPScript le ofrece operadores y funciones que puede utilizar para crear sus propias estructuras de datos.
Series de datos lineales
Este operador de series de datos crea, por ejemplo, una serie de datos con valores ascendentes:
(100, 0., 1.)
100 es el número de valores, 0. es el valor inicial y 1. es el incremento. Si prefiere especificar el valor inicial, el valor final y el intervalo de muestreo, utilice la función Series:
Series(0, 100, 1)
genera una serie de datos con 101 valores con valor inicial 0, valor final 100 e intervalo de muestreo 1. Aquí el tipo de datos es siempre un número en coma flotante de 64 bits.
Si utiliza tamaños, puede especificar diferentes unidades, pero deben ser compatibles:
(2000, 0 s, 1 ms) o Series(0 s, 2 s, 1 ms)
El resultado corresponde a la unidad que está más a la izquierda:
(2000, 0 s, 0.001 s)
Series de datos y matrices con contenido constante
El operador de multiplicación se utiliza para crear series de datos o matrices de datos con contenido constante:
1.5 # 100n
El ejemplo anterior genera una serie de datos con 100 veces el valor 1.5. Por tanto, el valor escalar 1.5 se multiplicó 100 veces.
1.5 # 100n # 20n genera una matriz de datos bidimensional con 20 series de datos con 100 valores cada una.
TRUE # Shape(Matriz) crea una matriz de valores booleanos cuyo número de filas y columnas corresponde a una matriz existente.
Aquí también puede multiplicar los tamaños:
1.5 N m # 100n
Series de datos y matrices con contenido variable
También puede agrupar diferentes valores individuales en series de datos, y series de datos en matrices de datos:
{ 1.5, 2.6, 7.8 }
El operador de agrupación agrupa los valores individuales en una serie de datos con tres valores. La lista puede ser tan larga como quiera y, por supuesto, en lugar de valores escalares constantes, también puede escribir cualquier expresión aritmética que devuelva valores escalares.
{ SerieDeDatos1, SerieDeDatos2, SerieDeDatos3 } agrupa tres series de datos unidimensionales en una matriz de datos bidimensional. Las series de datos deben tener la misma longitud.
Todos los elementos de una serie o matriz de datos tienen el mismo tipo de datos. Esto no se aplica a los componentes de las estructuras de datos compuestas, por ejemplo, el componente X de una señal puede tener un tipo de datos diferente que el componente Y.
En lugar de valores numéricos, también puede agrupar magnitudes físicas. Basta con especificar una unidad para el primer valor, que también se aplicará a los demás valores:
{ 1.5 kg, 2.6, 7.8 }
Si especifica unidades diferentes, deben ser compatibles. El resultado recibe la unidad de la primera magnitud física:
{ 50 mV, 0,5 V, -0,7 V } corresponde a la entrada { 50 mV, 500 mV, -700 mV }.
Listas con varios elementos independientes
El operador de lista resume varios valores o magnitudes físicas, que a su vez pueden tener cualquier estructura y tipo de datos. Cada elemento de una lista puede recibir opcionalmente un nombre. Como cada elemento de la lista puede ser a su vez una lista, se pueden crear estructuras anidadas a cualquier profundidad.
[ <Solution> SerieDeDatos, <ChiSquare> ValorEscalar ] resume en una lista el vector solución y la medida de ajuste de un ajuste de curva. Los nombres entre corchetes triangulares son opcionales y designan los elementos de lista.
Puede utilizar los marcadores de posición '*' y '?' en los nombres de ruta para crear fácilmente una lista de objetos:
'\Medición*\Señal' corresponde a [\Medición1\Señal, \Medición2\Señal,...].
Utilice el marcador de posición '*' para una cadena de cualquier longitud y el marcador de posición '?' para un solo carácter.
Nota El uso de nombres de los elementos de lista ya no se recomienda a partir de la versión 10 de FlexPro. En su lugar, utilice la función AssignHeader para asignar información de cabecera a los elementos de lista.
Las listas se utilizan para análisis multicanal o cuando un mismo proceso de cálculo produce varios resultados independientes que no pueden calcularse por separado.
Para acceder a un elemento de lista, puede utilizar su nombre, si está disponible, o la posición del elemento en la lista:
Lista.ChiSquare accede al segundo elemento de la lista indicada anteriormente.
Lista.[1n] conduce al mismo resultado sin utilizar el nombre del elemento.
Puede utilizar la función ListToSeries para convertir una lista con elementos de la misma estructura en una serie de datos, una matriz de datos o una serie de señales.
Crear estructuras de datos compuestas
Puede utilizar la función Signal para crear las estructuras de datos compuestas Señal, Serie de señales y Curva espacial a partir de las estructuras de datos simples Serie de datos y Matriz de datos:
Señal(Amplitud, Tiempo) combina dos series de datos con valores de medición y los correspondientes valores temporales para formar una señal. La Amplitud y el Tiempo son entonces los componentes de la señal.
Concatenar datos
El operador de concatenación concatena conjuntos de datos:
SerieDeDatos1 : SerieDeDatos2
También puede concatenar señales. En ese caso, el componente X de la segunda señal se desplaza automáticamente para continuar sin fisuras al de la primera.
Si concatena variables, la unidad del argumento de la derecha se adapta a la del argumento de la izquierda.