Accueil
 

Calcul

Entrées Données continues (nombre illimité)
ou
Matrices continues (nombre illimité)
Sortie Donnée continue
ou
Matrice continue

Ecran :

Description :
Le module effectue l'opération décrite par la formule. Les entrées sont codées par des lettres (majuscules et minuscules indifférentes). Vous pouvez utiliser autant de lettres qu'il y a d'entrées.

Un indicateur "rouge/vert" permet de vérifier si la syntaxe de la formule est correcte.

Un assistant de saisie des formules permet de choisir dans les différents onglets les termes à utiliser dans la formule, ou encore des formules pré-saisies utilisées couramment (onglet Formules).

Vous pouvez changer l'ordre des entrées en les déplaçant verticalement, puis en cliquant sur le bouton Appliquer ou Valider.

Ce module change son type de sortie en fonction des données en entrée. Par défaut, il va faire un calcul sur des données continues. Mais si vous lui connectez en entrée une donnée matricielle, alors sa sortie sera également matricielle.

En revanche, si le module a déjà des connexions en sortie, alors son type d'entrée restera figé. Pour lui connecter une donnée matricielle, il faudra d'abord le déconnecter de ses fils.

Si vous cochez la case Les données invalides sont considérées comme nulles alors toute donnée invalide en entrée sera mise à zéro avant calcul. Sinon, un objet qui a l'une de ses données non valide sera exclu du calcul et la donnée en sortie pour cet objet sera non valide.

Attention : Les descriptions suivantes sont valables également pour le module de filtre.

Onglet "Formules" :

Liste des formules :

Formule signification exemple
A>moyenne de A Sélectionne les valeurs de A supérieures à la moyenne de A A>A_avg
A<moyenne de A Sélectionne les valeurs de A inférieures à la moyenne de A A<A_avg
A<quartile inférieur Sélectionne les valeurs de A inférieures au quartile inférieur de A A<A_quart_inf
quartile inférieur<A<quartile supérieur Sélectionne les valeurs de A comprises entre le quartile inférieur et le quartile supérieur de A (A>A_quart_inf) & (A<A_quart_sup)
A>quartile supérieur Sélectionne les valeurs de A supérieures au quartile supérieur de A A>A_quart_sup
10 premières valeurs de A Sélectionne les 10 valeurs les plus faibles de A A<A_11
50 premières valeurs de A Sélectionne les 50 valeurs les plus faibles de A A<A_51
100 premières valeurs de A Sélectionne les 100 valeurs les plus faibles de A A<A_101
10 dernières valeurs de A Sélectionne les 10 valeurs les plus fortes de A A>A_n*
50 dernières valeurs de A Sélectionne les 50 valeurs les plus fortes de A A>A_n*
100 dernières valeurs de A Sélectionne les 100 valeurs les plus fortes de A A>A_n*
A égal à B Sélectionne les valeurs de A égales aux valeurs de B A=B
A égal à B à 10% près Sélectionne les valeurs de A comprises entre -10% et +10% des valeurs de B (A>B*0.9) & (A<B*1.1)
A différent de B Sélectionne les valeurs de A qui sont différentes de B A<>B
A strictement supérieur à B Sélectionne les valeurs de A qui sont strictement supérieur à B A>B
A supérieur ou égal à B Sélectionne les valeurs de A qui sont supérieures ou égales à B A>=B
A strictement inférieur à B Sélectionne les valeurs de A qui sont strictement inférieures à B A<B
A inférieur ou égal à B Sélectionne les valeurs de A qui sont inférieures ou égales à B A<=B

* " n " correspond au nombre total de valeurs dans la série statistique "A" moins le nombre de valeurs à sélectionner

Onglet "Opérateurs" :

Liste des opérateurs disponibles, avec leur ordre de priorité :

ordre opérateur signification exemple
1 , séparateur min(A/B,C)
2 : définition de variable var : A/2
3 & et (A>5) & (A<20)
3 | ou (A<10) | (A>=20)
4 < inférieur strict B<4
4 > supérieur strict A>5
4 = égal A=3
4 >= supérieur ou égal A*(A>=5)
4 <= inférieur ou égal A-(A<=B)
4 <> différent A<>5
5 + addition A+5
5 - soustraction A-B
6 * multiplication A*3
6 / division A/B
7 ^ puissance A^2
8 ! négation !A
9 ( ) parenthèses (A+5)/(A*9)

Remarque : pour générer l'opérateur | sur Mac, il faut faire la combinaison de touches suivante : alt+shift+l.

L'ordre de priorité des opérateurs est le plus fort pour les parenthèses et le plus faible pour la virgule.

Remarque :
  Les opérateurs <,>, <=,>=,<>,=,&,|, ! renvoient une donnée booléenne : sa valeur est 1 si la formule est vraie pour les valeurs de départ, 0 sinon.

Onglet "Fonctions" :

Liste des fonctions disponibles, avec leur nombre de paramètres :

fonction signification paramètre exemple
random donnée aléatoire 0 5*random()
abs valeur absolue 1 abs(A)
cos cosinus 1 cos(A)
sin sinus 1 sin(A)
tan tangente 1 tan(A)
coshyp cosinus hyperbolique 1 coshyp(A)
sinhyp sinus hyperbolique 1 sinhyp(A)
tanhyp tangente hyperbolique 1 tanhyp(A)
arccos arc cosinus 1 arccos(A)
arcsin arc sinus 1 arcsin(A)
arctan arc tangente 1 arctan(A)
exp exponentielle 1 exp(A-B)
ln logarithme népérien 1 ln(A/B)
log10 logarithme en base dix 1 log10(A+5*B)
ceil le plus petit entier supérieur 1 ceil(A)
floor le plus grand entier inférieur 1 floor(A)
round l'entier le plus proche 1 round(A)
root racine carrée 1 root(A)
arctan2 arc tangente de (B/A) 2 arctan2(A,B)
equal égalité illimités equal(A/2,B,C)
min valeur minimale illimités min(A,B,C)
max valeur maximale illimités max(A,B)

Remarque :
-  round(A) renvoie 45 si la valeur de départ est 44.5
- equal(A,B) renvoie une donnée booléenne (0 ou 1)

Onglet "Variables" :

Liste des variables disponibles :

variable signification exemple
_min valeur minimale C_MIN+10
_max valeur maximale (B_MAX-B_MIN)/2
_sum somme des valeurs A_SUM>B_SUM
_avg moyenne des valeurs A>A_AVG
_med Médiane de la série A_med
_quart_inf Quartile inférieur de la série A_quart_inf
_quart_sup Quartile supérieur de la série A_quart_sup

Ces cinq variables s'utilisent donc en mettant la lettre correspondant à une donnée en entrée devant elles.

Onglet "Seuils" :

On trie les données par ordre croissant. Ensuite, on sélectionne le seuil en fonction de sa position dans la liste triée. Ce seuil est identifié dans la colonne "seuil n°"

Exemple :

Pour extraire la 11ème plus petite donnée, vous devez indiquer dans le tableau Seuil n° 11.

Fonctions évoluées :

  • Calcul avec booléen
    Les opérateurs <, >, <=, >=, <>, =, &, |, ! renvoient une donnée dont la valeur est 1 si la formule est vraie pour les valeurs de départ, 0 sinon.
    Exemples :
       La donnée A possède les valeurs suivantes :
       2  5  6  8  15  2  40  56
    
       alors le résultat du calcul avec A>10 sera la donnée suivante:
       0  0  0  0   1  0   1   1
    
       et le résultat avec A*(A>10) sera :
       0  0  0  0  15  0  40  56
    

     
  • Calcul avec des puissances de 10
    Vous pouvez utiliser des puissances de 10 dans la formule avec la notation suivante :  1e+10
    Exemple :
          A*0.053 peut aussi s'écrire A*5.3e-2
     
  • Définition de variables dans la formule
    Exemple :
          poids : ln(A)/2 , poids/2 + poids + 5/poids
    On a ainsi défini une variable poids, et on peut l'utiliser dans la formule pour simplifier l'écriture et accélérer le traitement.
     
  • Faire un arrondi
    Arrondi à 2 chiffres après la virgule:
          valeur:log10(A+5) , round(valeur*100)/100
     
  • Contourner la division par zéro
          A2:A-(A=0), (A2>0)*B/A2
    L'astuce consiste à remplacer le zéro par -1 avec la formule A:A-(A=0)
    Ensuite on peut faire le calcul, uniquement pour les valeurs de A positives (A>0)*B/A
    Cette formule ne fonctionne que pour les données entièrement positives.
     

Script:

2      module untyped_list ""
3        mod_type integer "103"
3        mod_subtype integer "501"
3        mod_name string "Calcul"
3        mod_dads integer_list ""
4          ? integer "7"
4          ? integer "6"
3        formula string "B/A*100"
3        work_on_matrix boolean "F"
3        unavail_is_zero boolean "F"


Exemple d'utilisation