• Aucun résultat trouvé

[PDF] Support de Formation avancé sur les commandes Matlab | Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Support de Formation avancé sur les commandes Matlab | Cours informatique"

Copied!
20
0
0

Texte intégral

(1)

Prise en main rapide de Matlab

Xavier

Louchart

(2)

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

(3)

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

(4)

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 [ ]

(5)

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.

(6)

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

(7)

← 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.

(8)

Matrices et fonctions de base

Eléments de base à propos des Matrices

Dé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),:)]

(9)

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)

(10)

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

(11)

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

(12)

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

(13)

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

(14)

0 5 10 15 20 25 30 0 1 2 3 4 5 6

Temps en minutes depuis le 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.

(15)

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))

(16)

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

(17)

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

(18)

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

(19)

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])

(20)

Sujets non traités (a faire !!!)

structures polynômes nombres complexes chaînes de caractères dates et heures graphiques 3D fichiers et programmations

Quelques 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

Références

Documents relatifs

Parallèlement, la croissance urbaine et démographique se poursuivra dans les prochaines décennies en périphérie de la capitale du Vietnam. Jumelée aux changements climatiques,

Notre sujet portant sur la mise en place d’une comptabilité analytique au sein d’une université, soit un changement technique qui impactera par la suite le

Dans un secteur d' activité comme l’ habitat social , le risque est au cœur de nos activités : financier : aménagement et portage d' opérations , financement des

N' 15 Juillet-Décembre 2013 • La refondation de l'entreprise - outils et impacts Management &amp; Sciences Sociales 0... L'entreprise selon la théorie des

Des observations ont également été réalisées hebdomadairement dans le cadre des consultations (avec les infirmières et les médecins) à la Clinique de tuberculose

Sa thèse s’intègre dans le cadre du projet de recherche BISE2 (Business Information System for Energy and Environnement), et porte sur l’interprétation des événements dans

If the difference between the number of children that White and Visible Minorities females have were significant, then the discrimination portion of the wage

générer cette dernière est liée au pouvoir de marché de la société acquéreuse. Mais bien souvent, la création de valeur dans les F&amp;A n’est pas toujours au rendez-vous. De