2015 / 2016chemori/temp/matlab/formation_matlab_p...edit nom-fichier édite le m-file nom-fichier.m...
TRANSCRIPT
Intervenant : Ahmed CHEMORI
LIRMM, UMR CNRS/Université de Montpellier
161, rue Ada 34095
Montpellier, France
2015 / 2016
Module doctoral
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Généralités
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
3
Intervenant : Ahmed CHEMORI
FORMATION MATLAB Partie 1 : Les premiers pas …
MATLAB (venant de MATrix LABoratory) est un logiciel de calcul scientifiqueefficace, interactif et portable à syntaxe relativement 'simple' (par rapport à deslangages é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 puisd’é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’) etexé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 sousforme de fichiers ‘m-files’, et regroupés en paquetages ou ‘toolboxes’.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
4
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
A côté des toolboxes requises ‘local’ et ‘matlab’, il est possible d’installer destoolboxes spécifiques à tel ou tel problème mathématique, Optimization Toolbox,Signal Processing Toolbox par exemple, ou encore des toolboxes crées par l’utilisateurlui même.
L’interface-utilisateur de MATLAB varie légèrement en fonction de la version deMATLAB et du type de machine utilisée. Elle est constitué d’une fenêtre decommande qui peut être complétée par une barre de menu et pour les versions les plusrécentes de plusieurs fenêtres, affichant l’historique de la session, la structure desrépertoires accessibles par MATLAB.
Un système de chemin d’accès ou path permet de préciser la liste des répertoires danslesquels MATLAB trouvera les différents fichiers m-files utilisés.
Dans l’environnement unix, pour lancer MATLAB on tape la commande matlab surla ligne de commande active,
Dans les environnements Windows ou MacOs, il suffit de cliquer sur l’icône del’application.
La fenêtre de commande de MATLAB s’ouvre alors et on tape les commandes ou lesexpressions à évaluer à droite du prompt ». Le processus d’évaluation est déclenchépar la frappe de la touche <entée>.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
5
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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
Partie 1 : Les premiers pas …
6
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Les commandes peuvent être tapées après le prompt >> et exécutées par le logicielaprè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 :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
7
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La commande ver permet d’afficher la version de Matlab ainsi que les toolboxesinstallées.
L'historique des instructions depuis le début de la session sur la ligne de commandeest accessible par pressions successives de la touche ↑
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
8
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
A partir de la fenêtre de commande de Matlab, on peut exécuter des commandesMatlab 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éespar des point-virgules.
Si on tape seulement l’instruction, le résultat apparait juste après; si on rajoute unpoint-virgule a la fin de la ligne, la commande est exécutée mais son résultatn’apparait pas.
On quitte MATLAB en tapant quit dans la fenêtre de commande ou en sélectionnantquit 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, danslaquelle on trouvera des exemples variés, couvrant l’ensemble des domainesd’utilisation.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
9
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
L’environnement Matlab
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
10
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Matlab dispose de quelques commandes et fonctions lui permettant d’interagir avec lesystème d’exploitation de la machine sur laquelle il est utilisé. En voici quelquesexemples :
>> 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
La commande pwd (print work directory) ou cd permet d’afficher le répertoire actuel
La commande dir ou ls affiche la liste des fichiers du répertoire courant
La commande delete permet de supprimer un fichier
>> cd path : Fixe le répertoire de chemin d’accès path comme répertoire de travail actuel
>> delete nom-de-fichier
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
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
11
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
12
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La commande mkdir permet de créer un répertoire
>> mkdir path
La commande rmpath permet de supprimer un chemin d’accès de MATLABPATH
>> rmpath path
La commande isdir est une fonction booléenne qui retourne ‘1’ si le chemind’accès est est celui d’un répertoire et ‘0’ sinon
>> isdir path
EXEMPLE :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
13
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
L’aide en ligne
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
14
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La commande help est très précieuse, cette aide en ligne vous permet de ‘tout savoirsur tout’. Pour savoir comment l’utiliser, faites>> help help
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 efficacepeut être utilisée.
La commande lookfor XXX : Affiche les noms de toutes les fonctions quicontiennent le mot XXX (en anglais !) dans la première ligne de commentaire de cesfonctions.
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).
La commande :>> help nom-de-fonctionDonne la définition de la fonction désignée et des exemples d’utilisation
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
15
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLE : La commande helpGénéralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
16
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLE : La commande lookfor
La commande doc lance une fenêtre d’aide au format html (résultat plus convivial etplus complet), voici sa syntaxe :>> doc nom-de-fonction
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
17
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLE : >> doc fminconGénéralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
18
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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.
On peut obtenir la liste des fonctions Matlab usuelles classées par thème en tapant :>> helpwin
EXEMPLE : >> helpwin elfun
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
19
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Les constantes et variables
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
20
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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
Les fonctions real et imag renvoient respectivement la partie réelle et la partieimaginaire du complexe passé en paramètre,
Exemples de fonctions relatives au nombres complexes :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
21
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Les fonctions abs et angle renvoientrespectivement le module et l’argument ducomplexe passé en paramètre,
conj renvoie le complexe conjugué dunombre complexe passé en paramètre.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
22
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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 !
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
23
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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
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.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
24
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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émentsde nature très différente
La syntaxe des tableaux de cellules est voisine de celle des tableaux usuels, lescrochets étant remplacés par des accolades.
EXEMPLE :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
25
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Les variables : Une caractéristique de MATLAB est que les variables n’ont pas à êtredé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 =
EXEMPLE :Z est Un nombre réel
H est une chaîne de caractères
D est un tableau d’éléments
>> Variable = valeur
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
26
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
27
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
L’espace de travail
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
28
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Pour effacer les données en mémoire (par exemple avant d'exécuter un nouveaucalcul), 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
L’ensemble des variables et les objets qui leur sontassociées constitue l’espace de travail (workspace) dela session en cours
Le contenu de cet espace de travail se modifie tout aulong du déroulement de la session et plusieurscommandes ou fonctions permettent de le gérer defaç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
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
29
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Les commandes who et whos donnent la liste desvariables composant l’espace de travail.
La commande who donne la liste des variablesprésentes dans l’espace de travail.
La commande whos retourne une information pluscomplète comportant pour chaque variable, ladimension du tableau qui lui est associé, la quantité demémoire utilisée et la classe à laquelle elle appartient.
whos
who
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
30
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La commande whos peut être appliquée avec un ou plusieurs arguments
Si l’on modifie la valeur d’une variable, son type estalors modifié en conséquence
Espace de travail
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
31
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction size retourne le couple (NL,NC), où NL est le nombre de lignes et NCest 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 lavaleur retournée par size à un tableau à deux éléments [NL,NC] : EXEMPLES :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
32
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La syntaxe size(V,1) permet d’accéder au nombre de lignes uniquement de lavariable V.
La syntaxe size(V,2) permet d’accéder au nombre de colonnes uniquement de lavariable V.
La fonction class retourne le nom de la classe à laquelle appartient la variabledonné en argument
EXEMPLES :
EXEMPLES :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
33
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Gestion des fichiers
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
34
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Les commandes save, load et clear permettent d’intervenir directement surl’environnement de travail
La commande save permet de sauvegarder tout ou partie de l’espace de travail dansun fichier binaire appelés mat-file ou fichier .mat
>> save : sauvegarde tout l’espace de travail dans le fichier matlab.mat
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
35
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
>> save Nom_Fichier : sauvegarde tout l’espace de travail dans le fichierNom_Fichier.mat
>> save V1 V2 V3 … : sauvegarde les variables indiquées dans un fichier .mat quiport le nom de la première variable V1.mat
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
36
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
>> save Nom_Fichier V1 V2 V3 … : sauvegarde les variables indiquées dansun fichier Nom_Fichier.mat
La commande load permet de charger le contenu du fichier .mat dans l’espace detravail actuel
>> load : sauvegarde tout l’espace de travail dans le fichier matlab.mat
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
37
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Vecteurs & matrices
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
38
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLES :
Les vecteurs sont des tableaux de nombres au format particulier : un vecteur-colonneest un tableau qui ne comporte qu’une seule colonne ; un vecteur-ligne est un tableauqui 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 desvirgules ou espaces (cas d’un vecteur ligne)
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
39
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
L’opérateur de transposition est noté ’ (ou .’ pour les vecteurs de complexes)
L’expression vi:p:vf crée un vecteur ligne dont les éléments constituent uneprogression arithmétique de valeur initiale vi, de pas p et dont tous les termes sontinférieurs ou égaux à vf .
Lorsque la valeur du pas est omise, la valeur du pas par défaut (=1) est utilisée
EXEMPLES :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
40
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction linspace(vi,vf,n) crée un vecteur ligne de n valeursuniformément réparties entre vi et vf
EXEMPLES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
41
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction ones permet de créer un vecteur d’éléments tous égaux à ‘1’
EXEMPLES :
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
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
42
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction sort permet d’ordonner les éléments d’un vecteur par ordre croissant
EXEMPLES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
43
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction norm permet de calculer la norme d’un vecteur
EXEMPLES :
>> 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
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
44
Intervenant : Ahmed CHEMORI
FORMATION 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 :
A B
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
45
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Il est possible d’affecter une valeur à un élément d’un vecteur dont l’indice dépasse lalongueur 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 :
-1
0 0 -1
0
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
46
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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 :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
47
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLES :
Une matrice est un tableau de nombres (réels ou complexes) de dimension 2 (ou plusdans 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.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
48
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Les crochets [ et ] permettent de concaténer différentes matrices et/ou vecteurs dansune 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 lesmatrices/vecteurs composants
Le nombre de lignes est la somme des nombres de lignes des matrices/vecteurscomposants
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.
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
49
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLES :
A 02x3
12x1
BI2x2
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
50
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Pour une matrice M non-vide, on accède à l’élément de la ligne l et de colonne k dela matrice M par M(l,k)
Utilisé comme indice de ligne (ou de colonne), end est égal à la plus grande valeurpossible pour cet indice.
EXEMPLE :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
51
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Pour affecter une valeur à l’élément de la ligne l et de colonne k de la matrice M lasyntaxe 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 dontles indices sont compris entre le nombre de lignes (respectivement de colonnes), et lesindices spécifiés, prennent la valeur 0.
EXEMPLE :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
52
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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 :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
53
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Soit M une matrice et l est une liste d’entiers, tous compris entre 1 et le nombre delignes de M, et k une liste d’entiers, tous compris entre 1 et le nombre de colonnes deM.
M(l,k) est la sous-matrice de M formée par les éléments de M dont l’indice deligne appartient à l et l’indice de colonne appartient à k.
EXEMPLE :
P
R
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
54
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction repmat(M,lin,col) permet de créer une grande matrice endupliquant une matrice M : lin fois suivant les lignes et col fois suivant lescolonnes
EXEMPLE :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
55
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction diag(M) retourne le vecteur formé des éléments de la diagonaleprincipale de M (c.à.d M(n,n)).
EXEMPLES :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
56
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Matrices usuelles :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
57
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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 :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
58
Intervenant : Ahmed CHEMORI
FORMATION 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 listedont chacun des éléments est la somme (respectivement le produit) des éléments dechaque colonne de la matrice.
EXEMPLES :
VecteurMatrice
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
59
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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 desplus petits (respectivement les plus grand) éléments de chaque colonne de la matrice.
EXEMPLES :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
60
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction mean appliquée à un vecteur, calcule la moyenne des élément duvecteur
Appliquée à une matrice, la fonction mean retourne la liste des moyennes deséléments de chaque colonne de la matrice.
EXEMPLES :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
61
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Si l’on souhaite calculer la moyenne d’une matrice, voici la syntaxe :>> mean(mean(Matrice))
EXEMPLES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
62
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
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 :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
63
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
La fonction abs, appliquée à un vecteur (respectivement une matrice) retourne unvecteur (respectivement une matrice) de même dimension dont les éléments sont lesvaleurs absolues des éléments du vecteur (respectivement de la matrice) passé enargument.
EXEMPLES :
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
64
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
Comme pour les normes vectorielles, les normes matricielles donnent une mesure dela taille des éléments d’une matrice. La fonction norm permet de calculer différentesnormes d’une matrice. En voici les différentes syntaxes :
norm(M)
norm(M,1)
norm(M,2)
norm(M,’inf’)
norm(M,’fro’)
Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
65
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXEMPLES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
66
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXERCICES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
67
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXERCICES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
68
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXERCICES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
69
Intervenant : Ahmed CHEMORI
FORMATION MATLAB
EXERCICES :Généralités
Envirnmt Matlab
Aide en ligne
Const. & Variables
Espace de travail
Fichiers
Vect. & matrices
Partie 1 : Les premiers pas …
70
Intervenant : Ahmed CHEMORI
FORMATION MATLAB Quelques références bibliographiques
MA
TLA
B
71