Prise en main rapide de Matlab
Xavier
Louchart
Généralités
Session Matlab - Introduction
Début de session : après avoir lancé Matlab (icône / ou matlab sous Unix)
>> est le prompt Matlab, à la suite duquel vous entrerez les commandes
Chaque commande entrée et validée (Enter) donne à l'écran le résultat et le déroulement des calculs intermédiaires. Pour ne pas afficher le résultat à l'écran et le défilement des lignes, terminez chacune de vos commandes par ;
Le premier écran de Matlab présente quelques commandes :
demo : programme de démonstration donnant une présentation des fonctionnalités de base de Matlab
helpwin : ouvre une fenêtre Windows d'aide pour les fonctions Matlab
helpdesk : ouvre documentation hypertexte Matlab dans votre Web browser préféré Mais aussi :
intro : lance une introduction à Matlab
info : informations sur les boites à outils (Toolboxes) disponibles, Mathworks et divers
Sortie de Matlab – fin de session
exit ou quit
No flops (fonction flops) : donne le nombre d'opérations effectuées en calcul flottant
Vous pouvez enregistrer les commandes tapées et les résultats affichés lors d'une session Matlab dans un fichier texte avec la commande diary.
diary nom_fichier
puis diary ou diary off pour terminer.
L'aide dans MATLAB
help : produit une liste des fonctions Matlab par catégories, pour chacun des répertoires Matlab et des Toolbox installées, ainsi que vos propres répertoires s'ils contiennent une fichier "Table of Contents"
help<fonction ou commande> : fournit directement l'aide sur l'utilisation de la fonction ou de la commande indiquée
Exemple : help demo
DEMO Run demonstrations.
Type "demo" at the command line to browse available demos. With the optional action argument demo
('matlab'|'toolbox'|'simulink'|'blockset'|'stateflow'), DEMO opens the demo screen to the specified subtopic.
With the optional categoryArg argument,
DEMO opens to the specified toolbox or category, e.g. demo toolbox signal
lookfor<mot-clé>: fournit la liste des fonctions et commandes contenant le mot-clé spécifié dans la première ligne de leur texte d'aide
Exemple :
lookfor Newton
NLINFIT Nonlinear least-squares data fitting by the Gauss-Newton method.
L'espace de travail
La session Matlab démarre dans le répertoire indiquée par défaut dans les propriétés du programme Matlab ("démarrer dans").
Les commandes de déplacement dans l'arborescence des répertoires et l'information sur les fichiers sont accessibles directement avec les commnades Dos et Unix classiques
pwd : donne le répertoire de travail dans lequel vous êtes
cd .. ou cd <directory> : changement de répertoire
dir ou ls : liste des sous-répertoires et fichiers
! <path\fic.exe> : lance n'importe quel exécutable Dos ou Windows
path : donne la liste de tous les répertoires auxquels Matlab à accès soit pour les programmes et commnandes, soit pour les fichiers de données
Modifications du path :
Un menu spécial est prévu pour cela : File\Set Path
Ceci vous permet de gérer vos répertoires (ajouter, supprimer…).
Les types de données et variables - structures
Il y a un seul type de données : le type matrice (Matrix).
Tout est matrice, y compris un nombre ou un caractère simple. Ceci implique qu'il n'y a pas de déclaration de types comme dans les autres langages de programmation, ni d'allocation en mémoire des variables utilisées.
On peut distinguer 3 types de base :
- le scalaire : nombre ou caractère (matrix 1x1) - le vecteur : ligne ou colonne (matrix 1xN ou Nx1) - la matrice de dimension NxM
Les données peuvent être de plusieurs natures : - numérique : entiers et réels (double précision) - caractère (2 octets)
- simple caractère (1 octet) - complexe (2 x double précision) - manquante : NaN (Not a Number)
Attention, du fait de la non déclaration des types, certaines conversions sont automatiques Exemple :
x='a' % affectation du caractère "a" à la variable x
x = a
x+2 % conversion automatique de x (code ASCII de a = 97) en entier
ans = 99
6.123e-017 + 1i
whos
Name Size Bytes Class
ans 1x1 16 double array (complex)
x 1x1 2 char array
Grand total is 2 elements using 18 bytes
Gestion des données dans l'espace de travail Deux fonctions essentielles à retenir :
whos : donne l'information sur toutes les variables actuellement en mémoire, leur type, leur dimension…
clear : suppression d'une ou de toutes les variables actuellement en mémoire dans l'espace de travail
Les noms des variables et des fonctions sont sont composés de lettres et de chiffres, mais seuls les 19 premiers caractères sont significatifs. Ainsi, les noms mavariabledematrice et mavariabledematricecorrigee
désignent la même variable.
ATTENTION : Matlab fait la distinction entre les minuscules et les majuscules. Aux et AUX sont donc deux variables différentes.
Quant aux structures des données, l'organisation par défaut et la plus fréquemment utilisée est la matrice. Mais il en existe d'autres. Notamment :
- tableau multi-dimensionnel (3D, 4D, nD) - structure utilisateur
- cellule "non scalaire"
- tableau multi-dimensionnel de structures - tableau multi-dimensionnel de cellules - objet (au sens programmation)
- ensemble
Le mode interactif
Dans le mode interactif, Matlab peut être utilisé comme une "super-puissante calcultrice" scientifique, avec les opérateurs arithmétiques classiques et l'ensemble des fonctions de calcul numérique et de visualisation graphique.
La syntaxe des commandes est la suivante : <expression mathématique> fonction([liste d'arguments]) Exemples : 4+5 log(x)>y^2 x' plot(x,min(y(:,1),z(:,2)))
L'affichage des variables et des résultats est automatique en fin de traitement.
Il peut être annulé par ; en fin de ligne. Le ; est d'ailleurs vivement conseillé dans la programmation, afin d'éviter le défilement à l'écran des résultats de toutes les lignes composant votre code.
La création d'objet se fait par affectation d'un résultat de traitement : = Exemple x = 2+4.3
Si aucune affectation à une variable n'est effectué, le résultat est stocké par défaut dans la variable pré-définie ans
Une affectation multiple se fait avec [ ]
Variables spéciales et constantes
Certaines constantes et variables sont pré-définies :
pi : 3.14159265358979
eps : 2.2204e-16 (distance entre 1.0 et le flottant le plus proche) ; cette valeur peut être modifiée
Inf (Infinite) : nombre infini (exemple 1/0)
NaN (Not a Number) : n'est pas un nombre, exprime parfois une indétermination (exemple 0/0). A noter que certaine fonction tiennent compte des valeurs NaN (ex. NANMEAN, NANMEDIAN, NANSTD, NANMIN, NANMAX, NANSUM).
ans : variable contentant la dernière réponse.
Exemples et info supplémentaires
NaN Not-a-Number.
NaN is the IEEE arithmetic representation for Not-a-Number. A NaN is obtained as a result of mathematically undefined operations like 0.0/0.0 and inf-inf.
See also INF.
ISNAN True for Not-a-Number.
ISNAN(X) returns an array that contains 1's where
the elements of X are NaN's and 0's where they are not. For example, ISNAN([pi NaN Inf -Inf]) is [0 1 0 0]. See also ISFINITE, ISINF.
INF Infinity.
INF returns the IEEE arithmetic representation for positive
infinity. Infinity is also produced by operations like dividing by zero, eg. 1.0/0.0, or from overflow, eg. exp(1000).
See also NaN, ISFINITE, ISINF.
ISINF True for infinite elements.
ISINF(X) returns an array that contains 1's where the elements of X are +Inf or -Inf and 0's where they are not. For example, ISINF([pi NaN Inf -Inf]) is [0 0 1 1].
See also ISFINITE, ISNAN.
ISFINITE True for finite elements.
ISFINITE(X) returns an array that contains 1's where the elements of X are finite and 0's where they are not. For example, ISFINITE([pi NaN Inf -Inf]) is [1 0 0 0].
For any X, exactly one of ISFINITE(X), ISINF(X), or ISNAN(X) is 1 for each element.
Opérations arithmétiques
Les opérations arithmétiques de base dans Matlab sont :
+ plus - Plus
- minus - Minus
* mtimes - Matrix multiply
.* times - Array multiply
^ mpower - Matrix power
.^ power - Array power
\ mldivide - Backslash or left matrix divide
/ mrdivide - Slash or right matrix divide
.\ ldivide - Left array divide
./ rdivide - Right array divide
Les opérations peuvent être enchaînées en respectant les priorités usuelles des opérations et en utilisant des paranthèses. Dans l'ordre des priorités :
1. ()
2. ^, .^
3. – moins unaire
4. a:b , a:pas:b (séquence) 5. *, .*, /, ./, \, .\
6. +, - addition, soustraction scalaire ou matricielle
Les opérateurs logiques et relationnels Opérateurs relationnels
== eq - Equal
~= ne - Not equal
< lt - Less than
> gt - Greater than
<= le - Less than or equal
>= ge - Greater than or equal Opérateurs logiques
& and - Logical AND
| or - Logical OR
~ not - Logical NOT
xor - Logical EXCLUSIVE OR
any - True if any element of vector is nonzero all - True if all elements of vector are nonzero
Edition des lignes de commande
Matlab conserve l'historique des commandes entrées de façon interactive lors d'une session. La version 6 conserve également l'historique des commandes d'une session à l'autre. Il est donc possible de récupérer des instructions déjà saisies et de les modifier dans le but de les réutiliser, et surtout de gagner du temps !
Les touches suivantes peuvent être utilisées pour rappeler une commande ou la modifier : ↑ passer à l'instruction précédente
← aller vers la gauche sur la ligne de commande → aller vers la droite sur la ligne de commande BackSpace effacer le caractère à gauche du curseur Suppr effacer le caractère à droite du curseur Esc effacer la ligne de commande
Début, Fin se positionner au début ou à la fin de la ligne de commande
En tapant quelques caractères suivis de la touche ↑, la dernière commande commençant par ces caractères est alors rappelée sur la ligne de commande.
Matrices et fonctions de base
Eléments de base à propos des MatricesDésignation des éléments d'une matrice : ligne / colonne Exemple, matrice A
A(i,j) cellule ième ligne et jème colonne
A(i) cellule ième ligne et 1 colonne par défaut quand rien n'est précisé
A(:,j) toutes les lignes de la jème colonne
A(i,:) toutes les colonnes de la ième ligne
Saisie d'une matrice
Les valeurs en colonne sont séparées par une virgule ou un espace. Les lignes sont séparées soit par un point-virgule
x=[0 ,1 , 2 ; 3 4 5]
x =
0 1 2
3 4 5 soit par un retour à la ligne
x=[0 1 2 3,4,5]
x =
0 1 2
3 4 5
Dimensions de la matrice : fonction size [m,n]=size(x)
m = 2 n =
3
La fonction length donne la longueur d'un vecteur ou d'une matrice, c'est à dire max(size(x)).
Manipulation des matrices ajout :
[Mat1 Mat1 Mat2] ! ajout de matrices en ligne (même nombre de lignes pour les matrices)
[Mat1 ; Mat1 ; Mat2] ! ajout de matrices en colonne (même nombre de colonnes pour les matrices)
suppression :
A(condition) = []
insertion :
de la matrice Mat2 à la ligne i : [A(1:i,:) ; Mat2 ; A(i+1:size(x,1),:)]
Fonctions de base Matrices élémentaires
zeros Zeros array.
ones Ones array.
eye Identity matrix.
repmat Replicate and tile array.
rand Uniformly distributed random numbers.
randn Normally distributed random numbers.
linspace Linearly spaced vector.
logspace Logarithmically spaced vector.
meshgrid X and Y arrays for 3-D plots.
: Regularly spaced vector and index into matrix. Information basique sur les matrices
size Size of matrix.
length Length of vector.
ndims Number of dimensions.
disp Display matrix or text.
isempty True for empty matrix.
isequal True if arrays are identical.
isnumeric True for numeric arrays.
islogical True for logical array.
logical Convert numeric values to logical. Manipulation des matrices
' Transpose matrix
reshape Change size.
diag Diagonal matrices and diagonals of matrix.
tril Extract lower triangular part.
triu Extract upper triangular part.
fliplr Flip matrix in left/right direction.
flipud Flip matrix in up/down direction.
flipdim Flip matrix along specified dimension.
rot90 Rotate matrix 90 degrees.
: Regularly spaced vector and index into matrix.
find Find indices of nonzero elements.
end Last index.
sub2ind Linear index from multiple subscripts.
ind2sub Multiple subscripts from linear index.
Les matrices logiques sont des matrices dont les éléments prennent pour valeur 1 (vrai) ou 0 (faux). Ces matrices sont le résultat de fonctions logiques telles que : isnan, islogical, all, any … Elles peuvent également servir de matrice d'indices lors d'une affectation, notamment en se servant de la fonction find.
Exemple
x=[10 9 8 -1 7 6 -1 5 4 3]; i=find(x>=0)
1 2 3 5 6 8 9 10 x_positif = 10 9 8 7 6 5 4 3 size(x) size(x_positif) ans = 1 10 ans = 1 8
Entrées / Sorties
L'objectif ici est de lire un fichier où sont stockés des données et d'écrire un fichier pour sauvegarder des données ou pouvoir échanger des fichiers avec d'autres logiciels.
Il existe 2 types de fichier principalement : - les fichiers binaires : 2 formes
* binaire Matlab (extension par défaut .mat), reconnu par Matlab sur toutes les plateformes (PC, linux, Unix, Mac)
* "vrai" binaire, dépendant du type de processeur. Ce cas n'est pas abordé dans cette section. - les fichiers codés en caratères ASCII, éditables avec n'importe quel éditeur (Dos, Ultraedit, Bloc notes
Windows, Word en mode texte, Editeur Matlab (commande edit)…) Deux fichiers exemples sont utilisés dans cette section :
Fichier binaire Matlab (.mat) : data1.mat Fichier ASCII (.txt) : data1.txt
Lecture d'un fichier – récupération de variables Matlab sauvegardées
La fonction la plus utilisée, la plus pratique et également la plus rapide en lecture pour un fichier ASCII est la fonction load.
Pour un fichier Matlab binaire, la syntaxe est :
load data1, l'extension .mat est prise par défaut vu que Matlab va d'abord rechercher dans les répertoires de travail tous ses fichiers binaires. Matlab charge alors le nom des variables stockées dans le fichier binaire, si il existe.
Exemple : load data1 whos
Name Size Bytes Class
Debit 14x2 224 double array Grand total is 28 elements using 224 bytes Pour un fichier ASCII, la syntaxe est la suivante :
load 'data1.txt', le nom du fichier doit être spécifié comme une chaîne de caractères. Par défaut, la variable créée par Matlab qui contient les données lues dans ce fichier est le nom du fichier sans l'extension.
Exemple :
load 'data1.txt' whos
Name Size Bytes Class
data1 14x2 224 double array Grand total is 28 elements using 224 bytes
L'avantage des fichiers binaires Matlab est le stockage des noms de variables, et la possibilté de stocker plusieurs variables de types différents. Le principal inconvénient est que vous ne pouvez ni éditer ces fichiers pour les modifier ou voir ce qu'ils contiennent, ni les utiliser avec d'autres logiciels. En revanche, avec les fichiers ASCII, vous pouvez éditer leur contenu, rajouter des commentaires transparents pour la lecture dans Matlab (tout commentaire commence par un %), et utiliser ces fichiers avec d'autres logiciels. Pour exemple, éditer le fichier data1.txt.
La fonction load avec les fichiers ASCII nécessite que chaque données du fichier soient séparées par un/plusieurs espace(s) ou tabulation(s). Lorsque les données sont séparées par une ponctuation autre (, ; :), c'est la fonction fscanf
Ecriture dans un fichier – sauvegarde de variables
Pour sauvegarder une ou plusieurs variables de votre espace de travail dans un fichier binaire Matlab .mat, utilisez la commande save :
save nom_fichier var1 var2 … varN
save nom_fichier sauve toutes les variables en mémoire D'autres options sont possibles avec la commande save.
Pour écrire des données ou variables dans un fichier ASCII formaté, une succession de 3 commandes est utilisée :
fopen, fprintf, fclose
Exemple : écriture des des doonées de la matrice data1 dans le fichier essai_ecriture.txt. On sépare ici les 2 colonnes de la matrice par une tabulation, la première colonne est formatée en entier, la seconde en réel avec une décimale.
fic=fopen('essai_ecriture.txt','w'); fprintf(fic,'%i\t%3.1f\n', data1'); fclose(fic) ou fclose('all')
Notez que l'on écrit la transposée de data1 (data1'). En effet, Matlab lit les données en colonne et non en ligne, de même qu'il numérote les indices d'une matrice en partant de la première colonne, puis les suivantes.
Quant au format d'écriture, c'est une chaîne de caractères (' ') contenant les spécifications de conversion du langage C. Le type données doit commencer par un %, puis (pour les formats les plus fréquents)
i integer
f réel, précédé eventuellement du nombre de chiffres et de décimales : exemple 6.3f c caractère
s chaîne de caractères
Les format spécifiques sont les suivants : \n ligne suivante
\r retour charriot \t tabulation \b backspace
\f formfeed character
Graphiques
De nombreux styles de graphiques sont disponibles sous Matlab, 2-D et 3-D. Pour une liste complète, consulter l'aide graph2D, graph3D et specgraph.
Voici les plus courants :
plot, loglog, semilogx, semilogy, plotyy (2 axes y gauche et droite), plot3, mesh, surf, area, bar, errorbar, hist, pareto, pie, stairs, contour … et bien d'autres.
L'objectif de cette section est de créer un graphique documenté et de modifier les différents objets composant le graphique. Pour cela, la fonction plot sera utilisée. A noter que les éléments présentés ici sont valables pour les versions 5.2, 5.3 et 6 de Matlab. Avec les versions 5.3 et 6, des boîtes de dialogues avec de nombreux paramètres et options facilitent la mise n forme des graphiques. Toutefois, il est quand même bon de connaître ce qui est présenté par la suite pour créer des graphiques personnalisés sous forme de fonction ou de programme !
Fonctions graphiques de base Création et annotation d'un graphique
Utilisons le jeu de données data1, ou Debit selon le fichier que vous avez lu précédemment.
plot(Debit(:,1),Debit(:,2),'-ob') 0 5 10 15 20 25 30 0 1 2 3 4 5 6 Rajoutons quelques éléments tels que titre, label de l'axe x, et une grille
xlabel('Temps en minutes depuis le début de la crue') ylabel('Débit (L/s)')
title('Exemple de fichier plot') grid on
0 5 10 15 20 25 30 0 1 2 3 4 5 6
Temps en minutes depuis le dé
Dé
Exemple de fichier plot
Apparemment, il y a quelques petits problèmes liés à l'utilisation de Notebook et Word7 !!! Les principales fonctions permettant le contrôle des axes et du graphiques sont :
axis - Control axis scaling and appearance. zoom - Zoom in and out on a 2-D plot. grid - Grid lines.
box - Axis box.
hold - Hold current graph.
axes - Create axes in arbitrary positions. subplot - Create axes in tiled positions. xlim - X limits.
ylim - Y limits.
Les fonctions d'annotations du graphique sont : legend - Graph legend.
title - Graph title. xlabel - X-axis label. ylabel - Y-axis label. text - Text annotation. gtext - Place text with mouse.
plotedit - Experimental graph editing and annotation tools.
Concernant l'impression des graphiques (impression via imprimantes ou dans un fichier) : print - Print graph or SIMULINK system; or save graph to M-file.
printopt - Printer defaults. orient - Set paper orientation.
Pour certaines fonctions graphiques (comme plot), le style de courbe, la couleur et le type de symbole peuvent être précisés directement comme paramètre (cf. la commande utilisée précédemment '-ob'). Les trois paramètres (couleur, marker et style de courbe) sont paramétrés chacun par un caractère comme suit :
couleur marker ligne
y yellow . point - solid m magenta o circle : dotted c cyan x x-mark -. dashdot
r red + plus -- dashed
g green * star b blue s square w white d diamond k black v triangle (down)
^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram
Superposition et juxtaposition de graphiques
Pour superposer plusieurs tracés ou courbes sur le même graphique, il faut activer la commande hold.
hold on permet de superposer les tracés
hold off indique que le prochain tracé raffraîchira la fugure (équivaut à effacer la figure cf. commande cla, clf)
Lors d'une superposition de courbes, la mise à l'échelle est automatique.
La juxtaposition de graphique se fait facilement à l'aide de la commande subplot : subplot(n,m,i)
n : nombre de lignes m : nombre de colonnes i : sélection du subplot
Egalement, possibilité de définir soit même la taille du graphique avec :
subplot('position',[g d b h]), g d b h étant dans l'intervalle [0 1]. Exemple : subplot(2,2,1) bar([1 2 3 4 5 6]) subplot(2,2,2) plot(Debit(:,1),Debit(:,2),'^r:') subplot(2,2,3) stairs(cumsum(Debit(:,2))) subplot(2,2,4) area(Debit(:,1),Debit(:,2))
1 2 3 4 5 6 0 2 4 6 0 10 20 30 0 2 4 6 0 5 10 15 0 5 10 15 20 25 0 10 20 0 2 4 6
Accès aux objets graphiques et modifications de leurs propriétés Principes et commandes de base
L'organisation des objets sous Matlab respecte la hiérarchie suivante :
Uicontrol
Image Line Patch Surface Text Light
Axes Menu
Figure Root
Les figures (fenêtre où sont affichées les graphiques ou images), les graphiques, les objets composant le graphique (axes, courbes, légende …) sont des objets possédant de nombreuses propriétés (appelé handle). Ils héritent des propriétés de leurs "parents", selon l'organigramme hiérarchique précédent. Afin de pouvoir les modifier (couleur, position, taille, police, format, …) il faut au préalable récupérer ces "handle" dans une variable quelconque.
Exemple (en reprenant la commande précédente) : h=plot(Debit(:,1),Debit(:,2),'-ob')
Deux fonctions indispensables permetent alors de gérer ces handle :
get : lire les paramètres graphiques
set : modifier ces paramètres
get(h) Color = [0 0 1] EraseMode = normal LineStyle = -LineWidth = [0.5] Marker = o MarkerSize = [6] MarkerEdgeColor = auto MarkerFaceColor = none
XData = [ (1 by 14) double array] YData = [ (1 by 14) double array] ZData = [] ButtonDownFcn = Children = [] Clipping = on CreateFcn = DeleteFcn = BusyAction = queue HandleVisibility = on HitTest = on Interruptible = on Parent = [2.00024] Selected = off SelectionHighlight = on Tag = Type = line UIContextMenu = [] UserData = [] Visible = on
Pour lister les différentes options modifiables d'une des propriétés, utilisez la commande set :
set(h)
Color
EraseMode: [ {normal} | background | xor | none ] LineStyle: [ {-} | -- | : | -. | none ]
LineWidth
Marker: [ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram | {none} ]
MarkerSize
MarkerEdgeColor: [ none | {auto} ] -or- a ColorSpec. MarkerFaceColor: [ {none} | auto ] -or- a ColorSpec. XData
YData ZData
ButtonDownFcn Children
Clipping: [ {on} | off ] CreateFcn
DeleteFcn
BusyAction: [ {queue} | cancel ]
HandleVisibility: [ {on} | callback | off ] HitTest: [ {on} | off ]
Interruptible: [ {on} | off ] Parent
UIContextMenu UserData
Visible: [ {on} | off ]
Afin de modifier une des propriétés, il suffit d'utiliser la même commande set, mais en spécifiant la propriété que vous souhaitez changer (sous forme de chaîne de caractères, ainsi que sa nouvelle valeur).
Exemple :
changement du style de marker : x à la place d'un o
set(h,'Marker','x')
changement de la couleur :
set(h,'Color',[1 0 0]) % composante R V B entre 0 et 1
Bien évidemment, vous pouvez combiner plusieurs changements de propriétés avec une seule commande set. Il suffit de séparer chaque couple ("nom_propriété" " valeur") par une virgule.
Ceci donne par exemple :
set(h,'Marker','x', 'Color',[1 0 0], 'LineStyle',':')
A noter que certaines variables sont pré-définies, telles que les propriétés des acex, des figures ou des objets présents dans une figure :
gca : GetCurrentAxes : donne le handle des axes actuels
gcf : GetCurrentFigure : donne le handle de la figure actuelle
gco : GetCurrentObject : donne le handle de l'objet actuellement sélectionné sur la figure Ainsi, la commande suivante renvoie :
get(gcf)
BackingStore = off
CloseRequestFcn = closereq
Color = [0.855388 0.855388 0.855388] Colormap = [ (64 by 3) double array] CurrentAxes = [7.00012]
...
UserData = [] Visible = off
Egalement, connaître les valeurs des propriétés dans la hiérarchie : get(get(gcf,'Children'))
Gestion des axes
Comme indiqué ci-dessus, gca renvoie le handle des axes. Pour obtenir directement les propriétés des axes, tapez get(gca).
Si l'on souhaite modifier certaines propriétés, comme
- la position de l'axe des x (top / bottom) : XAxisLocation
- la direction de l'axe (normal, inversé) : XDir
- les limites des axes : Xlim, Ylim, Zlim
- le titre : Xlabel
- les ticks (graduation des axes) : XTick
- le label des ticks : XtickLabel
- l'échelle (normale ou log) : Xscale
il suffit tout simplement d'utiliser la fonction set avec les différentes propriétés que l'on souhaite modifier. Exemple :
set(gca, 'XaxisLocation', 'top',…
'Xtick', [0 5 1 0 15 20],…
'XtickLabel', ['0|5|10|15|20'],… 'Xlim',[-1 21],…
'Xdir','reverse')
Notez dans l'exemple précédent que chaque ligne se termine par 3 points, ce qui signifie que l'on continue à la ligne suivante. Ceci est assez pratique dans les programmes et rend plus lisible les énumérations longues de propriétés ou d'affectation.
Gestion des couleurs
Il existe un jeu de couleurs fixes (blanc, noir, rouge ,vert …) et un jeu de couleurs défini par une table de couleurs (colormap).
Chaque couleur est définie par 3 valeurs comprises dans [0 1] correspondant à l'intensité de Rouge, Vert, Bleu composant chacune des couleurs.
Ainsi, [0 0 0] : noir ('k') [1 1 1] : blanc ('w') [1 0 0 ] : rouge ('r') [0 1 0] : vert ('g') [0 0 1] : bleu ('b') [.3 .3 .3] : gris sombre [.6 .6 .8] : gris bleuté …
Quelques tables prédéfinies (colormap) : gray, hot, hsv, cool, bone, copper
Visualisation du colormap : colorbar
Modification de la couleur :
Exemple : couleur de fond de la figure en noir :
set(gcf,'Color',[0 0 0])
Sujets non traités (a faire !!!)
structures polynômes nombres complexes chaînes de caractères dates et heures graphiques 3D fichiers et programmationsQuelques références à consulter
Bien sûr l'aide en ligne de Matlab, indispensable !Sinon, quelques livres disponibles à la bibliothèque
* Mokhtari, M, Mesbah, A., 1997. Apprendre et maîtriser Matlab – versions 4 et 5 et Simulink . Springer-Verlag * Mokhtari, M, Mesbah, A., 1998. Applications de MATLAB 5 et Simulink 2. Springer-Verlag.
* La documentation papier (english) de Matlab et des différentes Toolbox que nous possédons au labo. La liste des livres traitant de Maltab et de ses applications :
http://www.fr.mathworks.com/support/books/index.php3
Pour tout autre information, FAQ, news, support technique… http://www.fr.mathworks.com