Les expressions utilisées dans le module Arithmétique, les formules de caractéristiques des grains ou dans les fonctions d'ajustement de courbes ont une syntaxe similaire au langages de programmation les plus communs.
Tous les nombres sont des réels (en virgule flottante), L'écriture des
nombre utilise une notation standard. Voici quelques exemples de nombres
valides :
1
,
.707
,
2.661
,
8.2e-34
.
Les noms des fonctions, constantes, et variables commencent par une lettre
continuent avec zéro ou plusieurs lettre, chiffres ou underscores. Voici
quelques exemples d'identifiants valides :
pow10
(une fonction),
Pi
(une constante),
d2_2
(une variable).
L'application des opérations est résumée dans la table qui suit.
Operation | Associativité | Exemples |
---|---|---|
parenthèses | N.A. | (x) |
appel de fonction et opérateurs unaires | de la droite vers la gauche | -sqrt 3 |
puissance | de la droite vers la gauche | 2^16 |
multiplication, division, et modulo | de la gauche vers la droite | 9/2 * 8 |
addition et soustractio | de la gauche vers la droite | 3 - 4 + 5 |
Notez que -3^2
is 9, c'est-à-dire
(-3)^2
, comme en c, mais à l'inverse
de Perl ou Python.
Les opérateurs et fonctions disponibles sont listés dans la table suivante.
Operateur | Signification |
---|---|
+ (unaire) | aucune opération |
- (unaire) | valeur négative |
~ | valeur négative (équivalent à - ) |
+ (binaire) | addition |
- (binaire) | soustraction |
* | multiplication |
/ | division |
% | modulo en virgule flottante |
^ | puissance |
abs | valeur absolue |
floor | arrondi à l'entier inférieur |
ceil | arrondi à l'entier supérieur |
sqrt | racine carrée |
cbrt | racine cubique |
sin | sinus |
cos | cosinus |
tan | tangente |
asin | arcsinus |
acos | arccosinus |
atan | arctangente |
exp | exponentielle en base e |
ln | logarithme en base e |
log | logarithme en base e |
pow10 | exponentielle en base 10 |
log10 | logarithme en base 10 |
sinh | sinus hyperbolique |
cosh | cosinus hyperbolique |
tanh | tangente hyperbolique |
asinh | sinus hyperbolique inverse |
acosh | cosinus hyperbolique inverse |
atanh | tangente hyperbolique inverse |
pow | puissance, pow(x,y) égale x^y |
min | minimum de deux valeurs |
max | maximum de deux valeurs |
mod | modulo en virgule flottance, mod(x,y) égale x % y |
hypot | distance euclidienne (hypothénuse), hypot(x,y) égale sqrt(x^2+y^2) |
atan2 | arctangente de deux variables |
Quelques particularités permettent de faciliter l'écriture d'expressions :
Les signes de multiplications sont optionnels, vous pouvez les
remplacer par des espaces (ou même aucun espace dans certains cas). Par
exemple 3/4 Pi
et 5(4+3)(2+1)
sont des expressions valides. Mais 3a
n'est pas
valide, 3e-4
signifie toujours
0.0003
, et non 3*e - 4
.
In n'existe aucune différence entre les appels de fonction et les
opérateurs unaires, les parenthèses peuvent donc être souvent ommises.
Par exemple sqrt 5
et
hypot hypot 3,4,5
sont des expressions valides. La
dernière serait utilisée avec les parenthèses de la manière suivante :
hypot(hypot(3,4),5)
.
Notez cependant que les appels de fonction ont une priorité supérieure
à tout autre opérateur, ainsi
sin Pi/2
est équivalent à
(sin Pi)/2
, et non sin(Pi/2)
.
En cas de doute, écrivez les expressions sous leur forme la plus complète.