global
Déclarer des variables comme globales
Syntaxe
Description
Remarque
Les variables globales ne sont pas efficaces et rendent les erreurs difficiles à diagnostiquer. Utilisez plutôt une fonction avec des variables en entrée. Pour plus d’informations, consultez Avoid Unnecessary Copies of Data.
global var1 ... varN permet de déclarer les variables spécifiées avec une portée globale.
En règle générale, chaque fonction MATLAB® dispose de ses propres variables locales, qui sont distinctes de celles des autres fonctions et de celles de l’espace de travail de base. Toutefois, si plusieurs fonctions déclarent toutes un nom de variable particulier comme étant global, elles partagent toutes une seule copie de cette variable. Toute modification de valeur de cette variable dans n’importe quelle fonction est visible par toutes les fonctions qui la déclarent comme globale.
Si la variable globale n’existe pas la première fois que vous lancez l’instruction global, elle est initialisée sur une matrice 0x0 vide.
Si une variable portant le même nom que la variable globale existe déjà dans l’espace de travail actuel, MATLAB émet un avertissement et modifie la valeur et la portée de cette variable afin qu’elle corresponde à la variable globale.
Exemples
Conseils
Pour effacer une variable globale de tous les espaces de travail, utilisez
clear globalvariable.Pour effacer une variable globale de l’espace de travail courant uniquement, utilisez
clearvariable.Les variables globales ont leur propre espace de travail qui est distinct de l’espace de travail de base et de celui des fonctions. Il n’est pas efficace d’utiliser des variables globales. MATLAB optimise la mémoire pour les variables en entrée des fonctions mais pas pour les variables globales. Pour plus d’informations, consultez Avoid Unnecessary Copies of Data.
Par ailleurs, les variables globales comportent des risques importants. N’importe quelle fonction peut accéder à une variable globale et la mettre à jour. Les autres fonctions qui utilisent la variable peuvent renvoyer des résultats inattendus. Par exemple :
Si vous attribuez par mégarde le nom d’une variable globale qui existe déjà à une « nouvelle » variable globale, une fonction peut remplacer les valeurs attendues par une autre. Cette erreur est difficile à diagnostiquer.
Si une variable globale est modifiée dans plusieurs fonctions, le fait d’appeler ces fonctions dans un autre ordre peut produire des résultats différents.
N’utilisez les variables globales qu’avec parcimonie, voire pas du tout. Pour plus d’informations sur les variables et l’espace de travail, consultez la sous-section « Global Variables » (Variables globales) de la page Share Data Between Workspaces.
Capacités étendues
Historique des versions
Introduit avant R2006a