70
Intervenant : Ahmed CHEMORI LIRMM, UMR CNRS/Université de Montpellier 161, rue Ada 34095 Montpellier, France 2015 / 2016 Module doctoral

2015 / 2016chemori/Temp/Cours/Formation_Matlab_Partie...Intervenant : Ahmed CHEMORI LIRMM, UMR CNRS/Université de Montpellier 161, rue Ada 34095 Montpellier, France 2015 / 2016 Module

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

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