41 7 4MB
2015 / 2016 Module doctoral
Intervenant : Ahmed CHEMORI LIRMM, UMR CNRS/Université de Montpellier 161, rue Ada 34095 Montpellier, France
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Généralités
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
3
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
Partie 1 : Les premiers pas … MATLAB (venant de MATrix LABoratory) est un logiciel de calcul scientifique efficace, interactif et portable à syntaxe relativement 'simple' (par rapport à des langages évolués comme C, C++). MATLAB est un langage interprété: les instructions sont interprétées et exécutées ligne par ligne (pas de compilation avant de les exécuter). MATLAB est distribué par la société MathWorks (voir le site www.mathworks.com). MATLAB est constitué d’un noyau relativement réduit, capable d’interpréter puis d’évaluer les expressions numériques matricielles qui lui sont adressées : Soit directement au clavier depuis une fenêtre de commande, Soit sous forme de séquences d’expressions ou scripts enregistrées (à l’aide d’un éditeur intégré) dans des fichiers-texte appelés ‘m-files’ (ou fichiers ‘.m’) et exécutées depuis la fenêtre de commande, Soit plus rarement sous forme de fichiers binaires appelés ‘mex-files’ (ou fichiers ‘.mex’) générés à partir d’un compilateur C ou fortran. Ce noyau est complété par une bibliothèque de fonctions prédéfinies, très souvent sous forme de fichiers ‘m-files’, et regroupés en paquetages ou ‘toolboxes’.
4
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
Partie 1 : Les premiers pas … A côté des toolboxes requises ‘local’ et ‘matlab’, il est possible d’installer des toolboxes spécifiques à tel ou tel problème mathématique, Optimization Toolbox, Signal Processing Toolbox par exemple, ou encore des toolboxes crées par l’utilisateur lui même. Un système de chemin d’accès ou path permet de préciser la liste des répertoires dans lesquels MATLAB trouvera les différents fichiers m-files utilisés. L’interface-utilisateur de MATLAB varie légèrement en fonction de la version de MATLAB et du type de machine utilisée. Elle est constitué d’une fenêtre de commande qui peut être complétée par une barre de menu et pour les versions les plus récentes de plusieurs fenêtres, affichant l’historique de la session, la structure des répertoires accessibles par MATLAB. Dans l’environnement unix, pour lancer MATLAB on tape la commande matlab sur la ligne de commande active, Dans les environnements Windows ou MacOs, il suffit de cliquer sur l’icône de l’application. La fenêtre de commande de MATLAB s’ouvre alors et on tape les commandes ou les expressions à évaluer à droite du prompt ». Le processus d’évaluation est déclenché par la frappe de la touche . 5
FORMATION MATLAB
Partie 1 : Les premiers pas … Exemple d’interface-utilisateur de MATLAB : Version (R2011b)
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
6
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Les commandes peuvent être tapées après le prompt >> et exécutées par le logiciel après avoir tapé sur la touche entrée. Le résultat de l‘exécution s'inscrit alors dans la fenêtre ou est représenté graphiquement dans une nouvelle fenêtre spécifique (avec possibilité de zoom, d'impression, etc...) EXEMPLE :
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
7
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … La commande ver permet d’afficher la version de Matlab ainsi que les toolboxes installées.
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
L'historique des instructions depuis le début de la session sur la ligne de commande est accessible par pressions successives de la touche ↑ 8
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
Partie 1 : Les premiers pas … A partir de la fenêtre de commande de Matlab, on peut exécuter des commandes Matlab de deux façons : les unes après les autres, ou groupées sous forme de fichiers scripts ou de fonctions Dans les deux cas, on tape seulement une commande par ligne, ou plusieurs séparées par des point-virgules. Si on tape seulement l’instruction, le résultat apparait juste après; si on rajoute un point-virgule a la fin de la ligne, la commande est exécutée mais son résultat n’apparait pas. On quitte MATLAB en tapant quit dans la fenêtre de commande ou en sélectionnant quit dans le menu File de la barre de menu pour les versions Windows ou MacOs. La commande demo : lance une démonstration de Matlab, très complète, dans laquelle on trouvera des exemples variés, couvrant l’ensemble des domaines d’utilisation.
9
FORMATION MATLAB
Partie 1 : Les premiers pas …
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
L’environnement Matlab
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
10
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Partie 1 : Les premiers pas … Matlab dispose de quelques commandes et fonctions lui permettant d’interagir avec le système d’exploitation de la machine sur laquelle il est utilisé. En voici quelques exemples : >> addpath path : Ajoute le chemin d’accès path à la liste des chemins d’accès connus de MATLAB (MATLABPATH) La commande cd (change directory) permet de changer de répertoire >> cd path : Fixe le répertoire de chemin d’accès path comme répertoire de travail actuel La commande pwd (print work directory) ou cd permet d’afficher le répertoire actuel
Espace de travail
La commande dir ou ls affiche la liste des fichiers du répertoire courant Fichiers
La commande delete permet de supprimer un fichier >> delete nom-de-fichier
Vect. & matrices
Intervenant : Ahmed CHEMORI
La commande what retourne la liste des m-files et mat-files du répertoire de travail La commande edit nom-fichier édite le m-file nom-fichier.m
11
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXEMPLES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
12
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
La commande mkdir permet de créer un répertoire >> mkdir path
Envirnmt Matlab
La commande rmpath permet de supprimer un chemin d’accès de MATLABPATH >> rmpath path
Aide en ligne
Const. & Variables
La commande isdir est une fonction booléenne qui retourne ‘1’ si le chemin d’accès est est celui d’un répertoire et ‘0’ sinon >> isdir path
Espace de travail
EXEMPLE :
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
13
FORMATION MATLAB
Partie 1 : Les premiers pas …
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
L’aide en ligne
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
14
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … Matlab comporte un très grand nombre d’opérateurs, de commandes et de fonctions. Tous ne seront pas décrits dans un document d’autant qu’une aide en ligne efficace peut être utilisée.
Envirnmt Matlab
Aide en ligne
Const. & Variables
La commande help est très précieuse, cette aide en ligne vous permet de ‘tout savoir sur tout’. Pour savoir comment l’utiliser, faites >> help help La commande : >> help nom-de-fonction Donne la définition de la fonction désignée et des exemples d’utilisation
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
La commande lookfor XXX : Affiche les noms de toutes les fonctions qui contiennent le mot XXX (en anglais !) dans la première ligne de commentaire de ces fonctions. C’est grosso modo la fonction réciproque de help. N’hésitez pas à utiliser les commande help et lookfor avant de programmer une fonction (ci-dessous deux exemples). 15
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … EXEMPLE : La commande help
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
16
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … EXEMPLE : La commande lookfor
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
La commande doc lance une fenêtre d’aide au format html (résultat plus convivial et plus complet), voici sa syntaxe : >> doc nom-de-fonction
17
FORMATION MATLAB
Partie 1 : Les premiers pas … EXEMPLE : >> doc fmincon
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
18
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Partie 1 : Les premiers pas … On peut obtenir la liste des fonctions Matlab usuelles classées par thème en tapant : >> helpwin Voici d’autres variantes de la commande helpwin : >> helpwin elfun : affiche la liste des fonctions mathématiques élémentaires, >> helpwin specfun : affiche la liste des fonctions mathématiques avancées, >> helpwin selmat : affiche la liste des fonctions matricielles élémentaires. EXEMPLE : >> helpwin elfun
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
19
FORMATION MATLAB
Partie 1 : Les premiers pas …
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Les constantes et variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
20
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … Matlab ne fait pas de distinction entre réels en entiers, Les nombres réels et entiers sont écrits sous les formes décimales ou scientifiques usuelles : 3.1416 , 5 , 1.25e-3 , etc Les nombres complexes sont écrits sous la forme a + bi, comme dans 1+2i Exemples de fonctions relatives au nombres complexes :
Aide en ligne
Const. & Variables
Les fonctions real et imag renvoient respectivement la partie réelle et la partie imaginaire du complexe passé en paramètre,
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
21
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … Les fonctions abs et angle renvoient respectivement le module et l’argument du complexe passé en paramètre,
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
conj renvoie le complexe conjugué du nombre complexe passé en paramètre.
22
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … Les tableaux de nombres (réels ou complexes) suivent la syntaxe suivante: Un tableau est délimité par des crochets : [ et ] Les éléments sont entrés ligne par ligne Les éléments appartenant à la même ligne sont séparés par des espaces (ou virgules) Les différentes lignes sont séparées par des points-virgule Les lignes doivent avoir le même nombre d’éléments !
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
23
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … On écrit les caractères et les chaînes de caractères entre apostrophes : ’a’, ’toto’ Pour MATLAB, chaînes de caractères et liste de caractères sont des objets de même nature
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
Les crochets sont le symbole de l’opérateur de concaténation : concaténation "en ligne" lorsque le séparateur est un espace ou une virgule; concaténation "en colonne" lorsque le séparateur est un point-virgule comme dans les tableaux de nombres.
24
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Une cellule est un conteneur dans le quel on peut placer toute sorte d’objets : nombre, chaîne de caractères, tableau et même tableau de cellules Les tableaux de cellules permettent regrouper dans une même structure des éléments de nature très différente La syntaxe des tableaux de cellules est voisine de celle des tableaux usuels, les crochets étant remplacés par des accolades. EXEMPLE :
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
25
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Les variables : Une caractéristique de MATLAB est que les variables n’ont pas à être déclarées, leur nature se déduisant automatiquement de l’objet qui leur est affecté Le symbole d’affectation de valeur à une variable est le caractère = >> Variable = valeur EXEMPLE : Z est Un nombre réel
Const. & Variables
Espace de travail
H est une chaîne de caractères
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
D est un tableau d’éléments 26
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
Voici les règles de dénomination des variables : Un identificateur débute nécessairement par une lettre, éventuellement suivie de lettres, de chiffres ou du caractère souligné (underscore : _) ; La longueur du nom d’une variable doit être inférieure ou égale à 31 (ou 63 selon la version) caractères; Dans les identificateurs, les majuscules sont distinguées des minuscules (on dit qu’ils sont case-sensitive). Quelques identificateurs prédéfinis :
ans désigne le résultat de la dernière évaluation (answer) ; pi est le nombre = 3, 416… ; eps désigne l’epsilon-machine, c’est à dire le nombre inf{ ε>0 tels que 1 < 1 + ε} ; inf désigne l’infini au sens d’une évaluation du type (1/0) ; NaN signifie “Not a Number” - peut être le résultat d’une évaluation du type (0/0) ; i,j - i et j représentent tous deux le nombre imaginaire pur : realmin désigne le petit nombre réel positif ; realmax désigne le plus grand nombre réel positif. 27
FORMATION MATLAB
Partie 1 : Les premiers pas …
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
L’espace de travail
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
28
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
Partie 1 : Les premiers pas … L’ensemble des variables et les objets qui leur sont associées constitue l’espace de travail (workspace) de la session en cours Le contenu de cet espace de travail se modifie tout au long du déroulement de la session et plusieurs commandes ou fonctions permettent de le gérer de façon efficace. Il faut distinguer ‘commande’ et ‘fonction’ Le nom d’une commande est suivi par la liste du ou des paramètres sans parenthèses Le nom d’une fonction est suivi du ou des paramètres entre parenthèses Pour effacer les données en mémoire (par exemple avant d'exécuter un nouveau calcul), il suffit d'utiliser la commande clear. >> clear H : Efface la variable H de l’espace de travail >> clear all : Efface tout l’espace de travail 29
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Partie 1 : Les premiers pas … Les commandes who et whos donnent la liste des variables composant l’espace de travail. La commande who donne la liste des variables présentes dans l’espace de travail. La commande whos retourne une information plus complète comportant pour chaque variable, la dimension du tableau qui lui est associé, la quantité de mémoire utilisée et la classe à laquelle elle appartient.
Const. & Variables
whos Espace de travail
who Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
30
FORMATION MATLAB
Partie 1 : Les premiers pas … La commande whos peut être appliquée avec un ou plusieurs arguments
Généralités
Espace de travail Envirnmt Matlab
Aide en ligne
Const. & Variables
Si l’on modifie la valeur d’une variable, son type est alors modifié en conséquence
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
31
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
La fonction size retourne le couple (NL,NC), où NL est le nombre de lignes et NC est le nombre de colonnes du tableau associé à la variable donnée en argument Pour accéder extraire le nombre de lignes et le nombre de colonnes, on peut affecter la valeur retournée par size à un tableau à deux éléments [NL,NC] : EXEMPLES :
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
32
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
La syntaxe size(V,1) permet d’accéder au nombre de lignes uniquement de la variable V. La syntaxe size(V,2) permet d’accéder au nombre de colonnes uniquement de la variable V. EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
La fonction class retourne le nom de la classe à laquelle appartient la variable donné en argument EXEMPLES :
Vect. & matrices
Intervenant : Ahmed CHEMORI
33
FORMATION MATLAB
Partie 1 : Les premiers pas …
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Gestion des fichiers
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
34
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … Les commandes save, load et clear permettent d’intervenir directement sur l’environnement de travail La commande save permet de sauvegarder tout ou partie de l’espace de travail dans un fichier binaire appelés mat-file ou fichier .mat >> save : sauvegarde tout l’espace de travail dans le fichier matlab.mat
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
35
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … >> save Nom_Fichier : sauvegarde tout l’espace de travail dans le fichier Nom_Fichier.mat
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
>> save V1 V2 V3 … : sauvegarde les variables indiquées dans un fichier .mat qui port le nom de la première variable V1.mat
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
36
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … >> save Nom_Fichier V1 V2 V3 … : sauvegarde les variables indiquées dans un fichier Nom_Fichier.mat La commande load permet de charger le contenu du fichier .mat dans l’espace de travail actuel >> load : sauvegarde tout l’espace de travail dans le fichier matlab.mat
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
37
FORMATION MATLAB
Partie 1 : Les premiers pas …
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Vecteurs & matrices
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
38
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Les vecteurs sont des tableaux de nombres au format particulier : un vecteur-colonne est un tableau qui ne comporte qu’une seule colonne ; un vecteur-ligne est un tableau qui ne comporte qu’une seule ligne. MATLAB propose différentes fonctions qui en simplifient l’usage. La valeur d’un vecteur peut être définie en tapant entre deux crochets la suite de ses éléments séparées par des points-virgule (cas d’un vecteur colonne) et par des virgules ou espaces (cas d’un vecteur ligne) EXEMPLES :
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
39
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
L’expression vi:p:vf crée un vecteur ligne dont les éléments constituent une progression arithmétique de valeur initiale vi, de pas p et dont tous les termes sont inférieurs ou égaux à vf . Lorsque la valeur du pas est omise, la valeur du pas par défaut (=1) est utilisée EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
L’opérateur de transposition est noté ’ (ou .’ pour les vecteurs de complexes)
40
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXEMPLES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
La fonction linspace(vi,vf,n) crée un vecteur ligne de n valeurs uniformément réparties entre vi et vf
Vect. & matrices
Intervenant : Ahmed CHEMORI
41
Partie 1 : Les premiers pas …
FORMATION MATLAB
La fonction ones permet de créer un vecteur d’éléments tous égaux à ‘1’ Généralités
Envirnmt Matlab
La fonction zeros permet de créer un vecteur d’éléments tous égaux à ‘0’ La fonction length qui retourne le nombre d’éléments ou longueur du vecteur EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
42
Partie 1 : Les premiers pas …
FORMATION MATLAB
La fonction sort permet d’ordonner les éléments d’un vecteur par ordre croissant Généralités
EXEMPLES :
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
43
Partie 1 : Les premiers pas …
FORMATION MATLAB
La fonction norm permet de calculer la norme d’un vecteur Généralités
Envirnmt Matlab
>> norm(V,2) : calcule la norme euclidienne du vecteur V passé en argument >> norm(V,inf) : calcule la norme infinie du vecteur V passé en argument EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
44
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Pour un vecteur V non-vide, on accède à l’élément d’indice k du vecteur par V(k) Le premier élément du vecteur étant indicé par 1. Le dernier élément du vecteur est accessible pat V(end) EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
A
B
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
45
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Il est possible d’affecter une valeur à un élément d’un vecteur dont l’indice dépasse la longueur du vecteur. Les éléments dont l’indice est compris entre la longueur du vecteur et l’indice donné sont affectés de la valeur 0 La longueur du vecteur est alors modifiée en conséquence. EXEMPLE :
0
-1
Const. & Variables
Espace de travail
Fichiers
0 0 -1
Vect. & matrices
Intervenant : Ahmed CHEMORI
46
FORMATION MATLAB
Généralités
Partie 1 : Les premiers pas … Il est possible d’extraire une partie d’un vecteur pour l’affecter à une autre variable Il suffit de choisir les indices des éléments à extraire EXEMPLE :
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
47
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Une matrice est un tableau de nombres (réels ou complexes) de dimension 2 (ou plus dans les dernières versions de Matlab), selon la syntaxe suivante : une matrice est délimitée par des crochets [ et ]; les éléments sont entrés ligne par ligne ; les éléments de la même ligne sont séparés par des espaces (ou par des virgules); les lignes sont séparées par des points-virgules. EXEMPLES :
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
48
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
Partie 1 : Les premiers pas … Les crochets [ et ] permettent de concaténer différentes matrices et/ou vecteurs dans une seule matrice Premier cas : M = [M1 M2 M3 … Mn] Concaténation en ligne la matrices résultante aura le même nombre de lignes que les matrices/vecteurs composants Le nombre de colonnes est la somme des nombres de colonnes des matrices/vecteurs composants Deuxième cas : M = [M1;M2;M3; … ;Mn] Concaténation en colonne la matrices résultante aura le même nombre de colonnes que les matrices/vecteurs composants Le nombre de lignes est la somme des nombres de lignes des matrices/vecteurs composants Troisième cas : Une combinaison des deux cas précédents Le nombre de lignes est la somme des nombres de lignes des blocs lignes; Le nombre de colonnes est la somme des nombres de colonnes des blocs colonnes.
49
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXEMPLES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
A
Fichiers
B I2x2
Vect. & matrices
Intervenant : Ahmed CHEMORI
02x3 12x1 50
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Pour une matrice M non-vide, on accède à l’élément de la ligne l et de colonne k de la matrice M par M(l,k) Utilisé comme indice de ligne (ou de colonne), end est égal à la plus grande valeur possible pour cet indice. EXEMPLE :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
51
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Partie 1 : Les premiers pas … Pour affecter une valeur à l’élément de la ligne l et de colonne k de la matrice M la syntaxe suivante est utilisée : M(l,k) = valeur Si l’un des deux indices l (respectivement k) dépasse le nombre de lignes (respectivement le nombre de colonnes) de la matrice, les éléments de la matrice dont les indices sont compris entre le nombre de lignes (respectivement de colonnes), et les indices spécifiés, prennent la valeur 0. EXEMPLE :
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
52
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Aide en ligne
Soit M une matrice, et l est un entier compris entre 1 et le nombre de lignes La syntaxe M(l,:)désigne la ligne l de la matrice M La syntaxe T(end,:) désigne la dernière ligne de M De même, si k est un entier compris entre 1 et le nombre de colonnes de M M(:,k) désigne la colonne k de M. L’indice ‘:’ signifie toutes les lignes de M M(:,end) désigne la dernière colonne de M
EXEMPLE :
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
53
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
Soit M une matrice et l est une liste d’entiers, tous compris entre 1 et le nombre de lignes de M, et k une liste d’entiers, tous compris entre 1 et le nombre de colonnes de M. M(l,k) est la sous-matrice de M formée par les éléments de M dont l’indice de ligne appartient à l et l’indice de colonne appartient à k. EXEMPLE :
Aide en ligne
Const. & Variables
P
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
R 54
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
La fonction repmat(M,lin,col) permet de créer une grande matrice en dupliquant une matrice M : lin fois suivant les lignes et col fois suivant les colonnes EXEMPLE :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
55
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
La fonction diag(M) retourne le vecteur formé des éléments de la diagonale principale de M (c.à.d M(n,n)). EXEMPLES :
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
56
FORMATION MATLAB
Partie 1 : Les premiers pas … Matrices usuelles :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
57
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … La fonction diag retourne une valeur très différente selon le type de son argument Si l’argument est une matrice, elle retourne le vecteur diagonal de la matrice Si l’argument est un vecteur, elle retourne une matrice dont la diagonale est constitué des éléments de ce vecteur EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
58
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
La fonction sum (respectivement prod) appliquée à un vecteur, calcule la somme (respectivement le produit) des éléments du vecteur, Appliquée à une matrice la fonction sum (respectivement prod) retourne une liste dont chacun des éléments est la somme (respectivement le produit) des éléments de chaque colonne de la matrice. EXEMPLES :
Aide en ligne
Vecteur
Matrice
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
59
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … La fonction min (respectivement max) appliquée à un vecteur, calcule le plus petit (respectivement le plus grand) élément du vecteur, ainsi que sa position (indice) Appliquée à une matrice la fonction min (respectivement max) retourne la liste des plus petits (respectivement les plus grand) éléments de chaque colonne de la matrice. EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
60
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … La fonction mean appliquée à un vecteur, calcule la moyenne des élément du vecteur Appliquée à une matrice, la fonction mean retourne la liste des moyennes des éléments de chaque colonne de la matrice. EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
61
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Si l’on souhaite calculer la moyenne d’une matrice, voici la syntaxe : >> mean(mean(Matrice)) EXEMPLES :
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
62
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … La fonction cov appliquée à un vecteur, retourne la variance des élément du vecteur Appliquée à une matrice (les lignes représentent les observations et les colonnes représentent les variables), la fonction cov retourne la matrice de covariance des éléments de la matrice. EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
63
Partie 1 : Les premiers pas …
FORMATION MATLAB
Généralités
Envirnmt Matlab
La fonction abs, appliquée à un vecteur (respectivement une matrice) retourne un vecteur (respectivement une matrice) de même dimension dont les éléments sont les valeurs absolues des éléments du vecteur (respectivement de la matrice) passé en argument. EXEMPLES :
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
64
FORMATION MATLAB
Généralités
Envirnmt Matlab
Partie 1 : Les premiers pas … Comme pour les normes vectorielles, les normes matricielles donnent une mesure de la taille des éléments d’une matrice. La fonction norm permet de calculer différentes normes d’une matrice. En voici les différentes syntaxes : norm(M)
Aide en ligne
norm(M,1) Const. & Variables
Espace de travail
norm(M,2)
Fichiers
norm(M,’inf’)
Vect. & matrices
norm(M,’fro’)
Intervenant : Ahmed CHEMORI
65
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXEMPLES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
66
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXERCICES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
67
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXERCICES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
68
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXERCICES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
69
Partie 1 : Les premiers pas …
FORMATION MATLAB
EXERCICES : Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Intervenant : Ahmed CHEMORI
70
Quelques références bibliographiques
MATLAB
FORMATION MATLAB
Intervenant : Ahmed CHEMORI
71