> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/data-logic/mathmetical-operations/subtract.md).

# Subtract

Ce bloc de fonction effectue une soustraction sur plusieurs entrées numériques. Il est utile lorsque vous devez soustraire plusieurs valeurs d'une valeur de départ unique (par exemple : valeur initiale moins une liste de décalages).

## 📥 Entrées <a href="#inputs" id="inputs"></a>

* `Number` (multiple)\
  Accepte de 2 à 20 entrées numériques. Le premier `Number` connecté est considéré comme la valeur de départ ; les autres `Number` connectés sont additionnés puis soustraits de cette valeur de départ. Les entrées non connectées sont ignorées.

Remarque : le nombre total d'entrées `Number` peut être modifié via les contrôles du bloc (voir Contrôles).

## 📤 Sorties <a href="#outputs" id="outputs"></a>

* `Number`\
  La valeur numérique résultante : premier input moins la somme des autres inputs.

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

* `Input size`\
  Un menu déroulant qui vous permet de choisir combien de prises d'entrée numériques le bloc fournit (valeurs de 2 à 20). La modification met à jour immédiatement les prises d'entrée disponibles.

## 🎯 Fonctionnalités <a href="#features" id="features"></a>

* Nombre d'entrées dynamique — ajustez facilement combien de valeurs vous voulez fournir sans ajouter ou supprimer des blocs séparés.
* Gestion souple des entrées manquantes — le bloc ignore les entrées non connectées, ce qui permet de modifier le câblage sans produire d'erreurs.
* Sortie numérique unique — résultat simple et utilisable pour des calculs ultérieurs, du logging ou des visualisations.

## ⚙️ Fonctionnement <a href="#how-it-works" id="how-it-works"></a>

Lors de l'exécution, le bloc lit les entrées numériques connectées, prend la première valeur connectée comme base, additionne toutes les autres valeurs connectées, puis renvoie la différence (base moins somme des autres). Si certaines entrées ne sont pas connectées, elles sont simplement ignorées.

## 📝 Instructions d'utilisation <a href="#usage" id="usage"></a>

1. Définissez le nombre d'entrées souhaité avec `Input size`.
2. Connectez des sources numériques (entrées manuelles, mesures ou autres blocs mathématiques) aux prises `Number` fournies.
3. Utilisez la sortie unique `Number` là où vous avez besoin de la différence calculée.

## 💡 Conseils et astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combinez avec `Number Input` si vous souhaitez fournir des valeurs manuelles pour des tests rapides ou des démonstrations.
* Utilisez `Number Range` pour fournir une paire de valeurs (min/max) comme entrées lors de tests de différences de seuil.
* Placez un bloc `Round` après celui-ci pour limiter le nombre de décimales affichées ou enregistrées.
* Utilisez `Absolute` si vous avez besoin de la magnitude de la différence indépendamment du signe (par ex. magnitudes d'erreur).
* Pour visualiser les variations dans le temps, envoyez le résultat vers `Scope` pour tracer les valeurs en temps réel.
* Si vos valeurs sont des listes ou des lots, associez-le avec `Get Element` pour extraire des éléments spécifiques à soustraire.
* Pour des pipelines arithmétiques agrégés, combinez avec `Add`, `Multiply` ou `Divide` avant ou après ce bloc afin de créer des formules plus complexes.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Signe inattendu du résultat : vérifiez quel input est connecté à la première prise (celle-ci est utilisée comme valeur de base).
* Entrées manquantes : les entrées non connectées sont ignorées — assurez-vous que toutes les valeurs requises sont connectées ou fournies.
* Problèmes de précision : ajoutez un bloc `Round` après ce bloc pour formater le résultat à la précision décimale souhaitée.
