Opérateur de multiplication (*) (FPScript)
Multiplie deux expressions.
Syntaxe
Expression1 * Expression2
La syntaxe de l'opérateur * se compose des éléments suivants :
Élément |
Description |
---|---|
Expression1 |
Toute expression. Tous les types de données, à l'exception des valeurs booléennes, sont autorisés. |
Expression2 |
Identique à Expression1. |
Remarques
L'opérateur peut traiter des valeurs scalaires ou des séries de données entières et des matrices de données. Si au moins un argument est une série de données ou une matrice de données, la multiplication a lieu par élément et le résultat est à nouveau une série de données ou une matrice de données. Si au moins un des deux arguments est une matrice de données, alors les deux arguments doivent avoir le même nombre de lignes. Pour un nombre différent de colonnes dans les matrices de données ou pour un nombre différent de lignes dans les séries de données, les colonnes ou valeurs supplémentaires sont supprimées.
Si des signaux, des séries de signaux ou des courbes spatiales sont multipliés, seules leurs composantes Y sont examinées. Le résultat contient alors de préférence la composante X et éventuellement la composante Z de l'Expression1. Sinon, il contient ceux de l'Expression2. Si l'une des expressions renvoie une liste, alors l'opération est exécutée pour chaque élément de la liste et le résultat est également une liste.
Vous pouvez appliquer l'opérateur à des types de données réels et complexes, ainsi qu'à des intervalles de temps et à des chaînes de caractères. Pour les arguments complexes, une multiplication complexe a lieu et le résultat est également complexe. Le résultat est toujours du même type de données que les expressions. Si les expressions ont des types de données différents, ceux-ci sont adaptés les uns aux autres de manière à ce qu'il n'y ait pas de perte de résolution dans le résultat, c'est-à-dire que les résolutions inférieures sont converties en résolutions supérieures, les entiers sont convertis en valeurs à virgule flottante et les nombres réels en nombres complexes.
La multiplication complexe est définie comme (a, b) * (c, d) = (a * c - b * d, a * d + b * c).
Vous pouvez multiplier les intervalles de temps avec des valeurs numériques ou des valeurs d'intervalle de temps. Les deux opérandes sont alors interprétés comme des secondes et le résultat est une valeur d'intervalle de temps correspondant au produit.
Si un argument est numérique et l'autre est une chaîne de caractères, la chaîne de caractères est transformée en type numérique avant l'opération. Les deux arguments ne peuvent pas être des chaînes de caractères.
Si au moins un des opérandes est une quantité, cela s'applique également au résultat, et son unité est formée en multipliant les unités des opérandes. Si un opérande a l'unité % ou ppm (parties par million), celle-ci est transformée en unité 1 avant la multiplication.
Disponible dans
FlexPro View, Basic, Professional, Developer Suite
Exemples
Signal * 1000 |
Multiplie toutes les valeurs Y de Signal par 1000. L'unité reste inchangée. |
2000000000n * 2n |
Renvoie le nombre entier 32 bits -294967296, car un dépassement de capacité s'est produit. |
Signal(Signal.y, Signal.x * 10.) |
Étend un signal par un facteur de 10 dans la direction X. |
(1., 2.) * (3., 4.) |
Renvoie la valeur complexe à virgule flottante de 64 bits (-5., 10.). |
"1.23" * 2n |
Renvoie le nombre entier 32 bits 2, puisque la chaîne de caractères est transformée en type de données du résultat numérique. Notez que le symbole décimal spécifique au pays défini dans Windows doit être utilisé dans la chaîne de caractère. |
'12:00:00' * 1.5 |
Renvoie la valeur de l'intervalle de temps '06:00:00 PM'. |
1 N * 5 m |
Rend 5 N m. |
1 * 5 m |
Retourne 5 m. |
1 V * 5 V |
Ça donne 5 V^2. |
1 mV * 5 V |
Renvoie 0,2 mV V. |
200 m * 20 % |
On obtient 200 m * (20 / 100) = 40 m. |