Entrées et Sorties de variables
Nous avons déjà manipulé des variables. Les variables sont des objets permettant de stocker des valeurs, issues d'un choix de l'utilisateur ou de résultats de calcul. Ce que l'on appelle les Entrées et Sorties de variables correspond en fait à l'acquisition de valeurs et à l'affichage de valeurs, pour interagir avec l'utilisateur.
Acquisition de valeurs
La forme la plus courante d'affectation d'une valeur à une variable est effectuée par la commande =
.
Il est possible d'interagir avec l'utilisateur pour attribuer une valeur à une variable. Pour cela, on utilise la fonction input
.
Exemple :
On peut facilement demander à l'utilisateur de nous donner une valeur. Cette valeur peut alors être affectée à une variable :
La valeur (21
) donnée par l'utilisateur est stockée dans la variable AgeCapitaine
.
Remarque :
Le caractère \n
est un caractère spécial qui permet d'aller à la ligne. Si l'on veut ajouter une tabulation, on peut utiliser le caractère spécial \t
.
Par défaut, la fonction input
évalue ce qui est entré par l'utilisateur. Ainsi, si ce qui est attendu doit être une chaîne de caractères, il faut que l'utilisateur donne la valeur entre guillemets droits simples ('
) !
Si l'entrée de l'utilisateur ne doit pas être évaluée, vous pouvez utiliser la fonction input
avec l'option 's'
.
Exemple :
Prenons un exemple où l'on attend explicitement une valeur correspondant à une chaîne de caractère :
Si l'utilisateur donne une valeur de chaîne sans mettre les quotes '
, cela conduit à une erreur, car MATLAB cherche à évaluer la valeur avant de l'affecter à la variable choixLanguage
. Pour éviter ce désagrément, on peut écrire :
Affichage de valeurs
Toutes les commandes qui donnent lieu à un résultat (valeur numérique, matrice ou chaîne de caractères) affichent automatiquement le résultat obtenu.
Pour ne pas afficher cette sortie dans la fenêtre de commandes, il faut terminer la commande par le caractère ;
.
Le simple appel d'une variable affiche sa valeur.
Exemple :
Si l'on veut afficher un résultat, il suffit d'appeler la variable qui le contient, par exemple, le code :
Remarque : format
Ici, le format d'affichage est le format long : pour obtenir le même résultat que les exemples numériques présentés ici, il faut donc avoir lancé la commande format long
.
La commande format short
permet d'obtenir l'affichage par défaut.
Dans l'exemple précédent, on remarque que l'affichage direct d'une variable est précédé du nom de cette variable. Ce comportement par défaut n'est pas toujours souhaité : on peut vouloir afficher le contenu d'une variable, sans son nom.
Il est alors possible d'afficher le contenu d'une variable avec la fonction disp
(pour display).
ou, en utilisant l'agrégation de chaîne de caractères (l'opérateur []
) :
Remarque : [ ]
L'opérateur []
ne peut que concaténer des chaînes de caractères entre-elles. En fait, c'est une construction de tableaux par blocs, chaque chaîne étant elle-même un tableau.
Si l'on veut afficher des valeurs numériques, il faut les convertir en chaînes avec la commande num2str
:
Formatage de valeurs
Pour personnaliser l'affichage, il est possible d'utiliser la fonction sprintf
qui permet de construire des chaînes de caractères complexes, en formatant l'affichage des variables.
Syntaxe :
La fonction sprintf
créer et renvoie une chaîne de caractères en formatant une variable selon un format spécifié :
Exemple :
La chaîne de caractère %8.6f
est ce que l'on appelle un format. Un format commence toujours par le caractère %
, et indique comment on doit représenter la variable qui suit. Le format est substitué par la variable formatée. Ici, le format signifie que l'on veut représenter la valeur de a
comme un réel, sur 8 chiffres maximum, avec une précision de 6 chiffres après la virgule.
Pour afficher plusieurs variables, il suffit de d'écrire une chaîne de caractères ayant autant de formats que de variables à formater.
Syntaxe :
La fonction sprintf
peut créer et renvoyer une chaîne de caractères en formatant autant de variables que souhaitées selon les formats spécifiés :
Exemple :
Remarque :
La fonction eval
permet d'évaluer la valeur d'une chaîne de caractères.
Complément :
Pour en savoir plus sur les possibilités de format, consultez l'aide de Matlab :
https://fr.mathworks.com/help/matlab/matlab_prog/formatting-strings.html