Suivant:Types
de données Précédent: Table
des matières
Voir: Table des matière
- Index - Accueil
[unix prompt] matlabNotez le prompt MATLAB (>>) qui indique que MATLAB attend des instructions. Voici un exemple de session MATLAB:
< M A T L A B (R) >
(c) Copyright 1984-97 The MathWorks, Inc.
All Rights Reserved
Version 5.1.0.421
May 25 1997
Commands to get started: intro, demo, help help
Commands for more information: help, whatsnew, info, subscribe
>>
>> A = [ 1 3; 4 2 ]Dans cette session on a défini la matrice
A =
1 3
4 2
>> A*A
ans =
13 9
12 16
>> quit
16 flops.
[unix prompt]
>> x=2*pi/3; y=sin(x); z=cos(x);Il est possible de sauvegarder une session MATLAB dans un fichier pour une utilisation ultérieure. L'instruction save nom-fic enregistre toutes les variables de l'espace de travail dans le fichier nom-fic.mat. Si aucun nom de fichier n'est précisé, le fichier par défaut est matlab.mat. Il est possible de ne sauver qu'une partie des variables (par exemple seulement la variable contenant le résultat d'un calcul) en utilisant l'instruction savenom-fic nom-var où nom-var est le nom de la (ou des) variable(s) à sauvegarder. Attention, seul le contenu des variables est sauvegardé et non pas l'ensemble des instructions effectuées durant la session. Pour ramener dans l'espace de travail les variables sauvegardées dans le fichier nom-fic.mat, taper load nom-fic. Dans l'exemple qui suit on calcule le sinus et le cosinus de 2 pi/3 dans les variables y et z. On sauve ces résultats dans un fichier toto.mat. Après avoir quitté MATLAB on peut vérifier que le fichier toto.mat existe bien mais qu'il ne s'agit pas d'un fichier ascii. Si l'on relance MATLAB et que l'on tape load toto, on peut vérifier que les variables y et z existent bien et ont les valeurs précédentes.
>> A = [ 1 3; 4 2 ]; B = A*A;
>> t = 'bonjour';
>> who
Your variables are:
A B t x y z
>> whos
Name Size Bytes Class
A 2x2 32 double array
B 2x2 32 double array
t 1x7 14 char array
x 1x1 8 double array
y 1x1 8 double array
z 1x1 8 double array
Grand total is 18 elements using 102 bytes
>> clear x y t
>> whos
Name Size Bytes Class
A 2x2 32 double array
B 2x2 32 double array
z 1x1 8 double array
Grand total is 9 elements using 72 bytes
>> clear
>> who
>>
>> x=2*pi/3, y=sin(x), z=cos(x)La commande diary permet de sauvegarder l'ensemble d'une session dans un fichier ascii pour un traitement ultérieur (insertion dans un document, impression, ...). Le fichier de sauvegarde par défaut a pour nom diary. On provoque la sauvegarde dans le fichier nom-fic, par l'instruction diarynom-fic. Attention, c'est la commande diary qui déclenche le début de sauvegarde; il est impossible de sauvegarder la partie de la session précédent son appel. Pour arrêter la sauvegarde, taper diary off.
x =
2.0944
y =
0.8660
z =
-0.5000
>> save toto y z
>> quit
6 flops.
[unix prompt] ls
toto.mat
[unix prompt] more y.mat
MATLAB 5.0 MAT-file, Platform: SOL2, Created on: Mon Jul 5 20:42:21 1999
` MI 8 e e d ` ` ` `z ¿ßÿÿÿÿÿü
[unix prompt] matlab
>> load toto
>> who
Your variables are:
y z
>> y
y =
0.8660
>> z
z =
-0.5000
>> x
??? Undefined function or variable 'x'.
>>
>> x=2*pi/3; y=sin(x);Si vous éditez le fichier toto, voici ce que vous verrez:
>> diary toto
>> z=cos(x)
z =
-0.5000
>> diary off
>> t = tan(x)
t =
-1.7321
>>
>> z=cos(x)
z =
-0.5000
>> diary off
>> help diaryAttention, les commandes MATLAB doivent être tapées en minuscules pour être reconnues, même si elles figurent en majuscules dans l'aide en ligne.
DIARY Save text of MATLAB session.
DIARY file_name causes a copy of all subsequent terminal input
and most of the resulting output to be written on the named
file. DIARY OFF suspends it. DIARY ON turns it back on.
DIARY, by itself, toggles the diary state.
Use the functional form of DIARY, such as DIARY('file'),
when the file name is stored in a string.
>>
On peut également obtenir de l'aide par le biais de la commande doc qui donne accès à une documentation complète au format HTML. Pour quitter cette documentation, cliquer sur Exit Program dans le menu File du navigateur. La commande lookfor permet de rechercher un mot-clé parmi les lignes de commentaires en entête des fonctions MATLAB (ces lignes sont celles affichées par la commnande doc). L'instruction lookfor motclé recherche le mot-clé motclé dans la première ligne de commentaire de toutes les fonctions MATLAB. L'instruction lookfor motclé -all recherche le mot-clé dans toutes les lignes de commentaires en entête des fonctions. Attention le mot-clé doit être en anglais, les commentaires des fonctions MATLAB étant rédigés en anglais. On peut utiliser une phrase comme mot-clé. Il faut alors l'écrire entre guillemets (' '). La commande lookfor retourne le nom la fonction MATLAB (ou des fonctions) où le mot-clé figure dans la première ligne de commentaires. Elle retourne également la ligne de commentaires où figure le mot-clé. Si le mot-clé n'a été trouvé dans aucune ligne de commentaires, MATLAB rend la main sans rien afficher.
>> lookfor determinant
DET Determinant.
>> lookfor 'tridiagonal matrix'
LESP Tridiagonal matrix with real, sensitive eigenvalues.
POISSON Block tridiagonal matrix from Poisson's equation.
TRIDIAG Tridiagonal matrix (sparse).
TRIDIEIG Find a few eigenvalues of a tridiagonal matrix.
TRIDISOLVE Solve A*x = b where A is a square, symmetric tridiagonal matrix.
>> lookfor papillon
>>
>> A = [ 8 1 6; 3 5 7; 4 2 9];Plusieurs instructions MATLAB peuvent figurer sur une même ligne. Il faut alors les séparer par une virgule ou par un point virgule. D'autre part, si une commande est trop longue pour tenir sur une ligne, il est possible de poursuivre sur la ligne suivante en terminant la ligne par 3 points (...).
>> A
A =
8 1 6
3 5 7
4 9 2
>> A*A;
>> ans
ans =
91 67 67
67 91 67
67 67 91
>>
>> B = [ 1 3; 4 2 ]; B*BSi la syntaxe de l'instruction soumise est erronée ou si vous demandez à MATLAB d'exécuter une instruction illégale (qui n'a pas de sens mathématique par exemple), vous obtiendez un message d'erreur. Ce message vous indique les sources d'erreurs possibles et doit vous permettre de corriger rapidement votre erreur.
ans =
13 9
12 16
>> x = 1 + 2 + 3 + 4 + 5 + 6 ...
+7 + 8 + 9 + 10
x =
55
>>
>> A + BDans la première instruction, on tente d'effectuer la somme de 2 matrices aux dimensions incompatibles. Dans le second exemple on tente de définir une matrice dont le nombre d'éléments dans chaque ligne diffère. Enfin la troisième instruction est inconnue de MATLAB: il ne s'agit n'y d'une fonction ni d'une variable incorporée ou utilisateur.
??? Error using ==> +
Matrix dimensions must agree.
>> C = [ 1 2 3; 4 5]
??? Number of elements in each row must be the same.
>> whose
??? Undefined function or variable 'whose'.
>>
>> dir
. .. toto toto.mat
>> edit toto
>> delete toto
>> !ls
toto.mat
>>
(c) Stéphane Balac - Centre de Mathématiques - INSA de Lyon