MATLAB met à disposition des moyens d’interagir avec l’utilisateur.

 

Les entrées

Les fonction d’entrées de MATLAB sont input et menu.

 

La fonction input

La fonction input permet la saisie d’une valeur depuis le clavier.

Pour les valeurs numériques:

nombre = input(’message’) : affiche un message et affecte à la variable nombre la valeur numérique entrée au clavier.

Pour les chaînes de caractères:

nom = input(’message’,’s’) : affiche un message et affecte à la variable nom la valeur entrée au clavier considérée alors comme une chaîne de caractères.

>> nombre = input('Entrez un nombre :\n')
Entrez un nombre :
1500

nombre =
        1500

>> nom= input('Entrez votre prénom :\n', 's')
Entrez votre prénom :
Mamadou

nom =
Mamadou

 

La fonction menu

La fonction menu génère un menu dans lequel l’utilisateur doit choisir une option.

result = menu(’titre’, ’opt1’, ’opt2’, …, ’optn’)

La valeur retournée dans la variable result est égale au numéro de l’option choisie. menu est souvent utilisé en relation avec la structure algorithmique switch-case.

>> result = menu('Mon menu', 'Premier', 'Deuxieme', 'Troisieme', 'Quitter')

 

Les sorties

Les fonction de sorties de MATLAB sont disp et sprintf.

 

La commande disp

La commande disp permet d’afficher un tableau de valeurs numériques ou de caractères.

La commande disp se contente d’afficher le tableau sans écrire le nom de la variable ce qui peut améliorer certaines présentations.

 

On peut également utiliser la commande disp pour afficher un résultat.

>> disp('Calcul du déterminant de la matrice A')
Calcul du déterminant de la matrice A

>> A = randn(8)

A =

    0.7015   -1.3337   -0.8314   -0.0348   -0.2938   -0.1765   -0.1303    0.5528
   -2.0518    1.1275   -0.9792   -0.7982   -0.8479    0.7914    0.1837    1.0391
   -0.3538    0.3502   -1.1564    1.0187   -1.1201   -1.3320   -0.4762   -1.1176
   -0.8236   -0.2991   -0.5336   -0.1332    2.5260   -2.3299    0.8620    1.2607
   -1.5771    0.0229   -2.0026   -0.7145    1.6555   -1.4491   -1.3617    0.6601
    0.5080   -0.2620    0.9642    1.3514    0.3075    0.3335    0.4550   -0.0679
    0.2820   -1.7502    0.5201   -0.2248   -1.2571    0.3914   -0.8487   -0.1952
    0.0335   -0.2857   -0.0200   -0.5890   -0.8655    0.4517   -0.3349   -0.2176

>> disp(['Le déterminant de la matrice A vaut ', num2str(det(A))])

Le déterminant de la matrice A vaut 12.9739

On remarque que l’usage de la commande disp est alors un peu particulier. En effet un tableau doit être d’un type donné, les éléments d’un même tableau ne peuvent donc être des chaînes de caractères et des valeurs numériques. On a donc recours à la commande num2str pour convertir une valeur numérique en une chaîne de caractères.

 

La commande sprintf

La commande sprintf permet l’impression de variables selon un modèle donné. Un modèle d’édition se présente sous la forme du symbole pourcent (%) suivi d’indications permettant de composer le contenu du champ à imprimer, en particulier sa longueur en nombre de caractères. Le modèle d’édition utilisé par MATLAB est le modèle d’édition du langage C. La syntaxe de la commande sprintf est:

sprintf(format, variables)

  • variables est le nom des variables à imprimer suivant le modèle d’édition spécifié dans format;
  • format est le format d’édition. Il s’agit d’une chaîne de caractères contenant les modèles d’éditions des variables à imprimer.

 

Modèle d’édition de caractères

Un modèle d’édition de caractères est de la forme %Ls où :

  • % est le symbole de début de format;
  • s  le symbole précisant que la donnée est de type chaîne de caractères;
  • L est un entier donnant la longueur total du champ (en nombre de caractères).

Par défaut le champ est justifié à droite (si la longueur de la chaîne de caractères est plus petite que la longueur L du champ, des espaces sont insérés après la chaîne de caractères). Le symbole – (moins) juste après le symbole % permet de justifier à gauche. En l’absence de l’entier L la longueur totale du champ est égale au nombre de caractères de la chaîne.

 

Modèle d’édition des réels

Un modèle d’édition de réel est de la forme %+- L.D t, où:

  • % est le symbole de début de format;
  • L est un entier donnant la longueur total du champ (en nombre de caractères, point-virgule compris);
  • D est le nombre de décimales à afficher;
  • t spécifie le type de notation utilisée.

Par défaut le champ est justifié à droite (si la longueur de la variable est plus petite que la longueur du champ L, des espaces sont insérés à gauche). Le symbole – (moins) permet de justifier à gauche. Le symbole + (plus) provoque l’affichage systématique d’un signe + devant les réels positifs.

 

Les principales valeurs possibles pour t sont les suivantes:

  • d : pour les entiers;
  • e : pour une notation à virgule flottante où la partie exposant est délimitée par une minuscule (ex: 3.1415e+00);
  • E : même notation mais E remplace e (ex: 3.1415E+00);
  • f : pour une notation à virgule fixe (ex: 3.1415);
  • g : la notation la plus compacte entre la notation à virgule flottante et la notation à virgule fixe est utilisée

 

Il est possible d’utiliser les symboles suivants dans les chaînes de caractères:

  • \n : provoque le passage à une nouvelle ligne;
  • \t : insère une tabulation horizontale;
  • \b : décale l’impression du champ suivant d’un caractère vers la gauche;
  • \r : saut horizontal