Vous êtes sur la page 1sur 40

Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels

et logiques

TP: Initiation MATLAB


3ème année Génie-Civil

Dr. M. B

École Marocaine des Sciences de l’Ingénieur


2020-2021
January 4, 2022

M. B EMSI MATLAB January 4, 2022 1 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

MATLAB est un interpréteur: les instructions sont interprétées et


exécutées ligne par ligne.
MATLAB fonctionne dans plusieurs environnements tels que
Windows, Macintosh, UNIX, Linux.
Il existe deux models de fonctionnement:
1 mode iteractif: MATLAB exécute les instructions au fur et à mesure
qu’elles sont données par l’utilisateur.
2 mode exécutif: MATLAB exécute ligne par ligne un "fichier M"
(programme en langage MATLAB).

M. B EMSI MATLAB January 4, 2022 2 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

M. B EMSI MATLAB January 4, 2022 3 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Les opérations de base

ans ici (pour answer) est une variable qui contient toujours le résultat de
la dernière opération réalisée.
Dans MATLAB, la déclaration de types est facultative.
MATLAB est sensible à la casse (a 6= A)
M. B EMSI MATLAB January 4, 2022 4 / 40
Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Symbole Description Exemple


+, −, ∗, / Les opérations de base: addition 5+3
soustraction, multiplication et division 2∗ 8
6
ˆ La puissance 2ˆ6= 2√
sqrt La racine carré sqrt(8)= 8
pi La constante pi=3,1416 2∗ √
pi= 2π
i ou j Nombre complexe −1
realmax Max des nbre flottant codable:
1,7977e+308
realmin Min de nbre flottant codable:
2,2251e-308
cos, sin, tan Les fonctions trigonométriques
usuelles cos(3∗ pi/2)= cos(3π/2)
log, exp le logarithme népérien
et l’exponentielle exp(3)= e 3

On peut combiner ces symboles en une seule commande.

M. B EMSI MATLAB January 4, 2022 5 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Dialogue E/S via clavier


Pour instruire au programme d’attendre la saisie d’une valeur pour ’z’ on
utilise l’instruction input:

M. B EMSI MATLAB January 4, 2022 6 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Les variables
On utlise "=" pour déclarer une variable et l’utiliser :

Cette commande crée une variable y , et lui affecte la valeur 18,


La variable nouvellement crées est ajoutée au workspace

M. B EMSI MATLAB January 4, 2022 7 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Espace de travail

Les variables sont stockées dans l’espace de travail (ou workspace) et


peuvent être utilisées dans les calculs subséquents.

Table: Commandes du workspace

who affiche les noms des variables actives


whos affiche les noms des variables actives avec plus
d’informations
clear permet de nettoyer l’espace de travail: toutes les
variables sont détruites
clear x y t détruit les variables x, y, et t
save nom-fic enregistre toutes variables de l’espace de travail dans
le fichier nom-fic.mat
load nom-fic ramener dans l’espace de travail les variables
sauvegardées dans le fichier nom-fic.mat

M. B EMSI MATLAB January 4, 2022 8 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Définir un vecteur ligne


On définit un vecteur en donnant la liste de ses éléments entre crochets :

M. B EMSI MATLAB January 4, 2022 9 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Définir un vecteur par blocs


Un vecteur peut être défini par blocs

M. B EMSI MATLAB January 4, 2022 10 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Manipuler les éléments d’un vecteur

Les éléments d’un vecteur peuvent être manipulée grâce à leur indice dans le
tableau,

M. B EMSI MATLAB January 4, 2022 11 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Les vecteurs spéciaux

Les commandes ones, zeros et rand permettent de définir des vecteurs dont
les éléments ont respectivement pour valeurs 0, 1 et des nombres générés de
manière aléatoire.
ones(1, n) : vecteur ligne de longueur n dont tous les éléments valent 1
ones(m, 1) : vecteur colonne de longueur m dont tous les éléments valent
1
zeros(1, n) : vecteur ligne de longueur n dont tous les éléments valent 0
zeros(m, 1) : vecteur colonne de longueur mn dont tous les éléments
valent 0
rand(n, 1) : vecteur ligne de longueur n dont tous les éléments sont
générés de manière aléatoire entre 0 et 1.
rand(1, m) : vecteur colonne de longueur m dont tous les éléments sont
générés de manière aléatoire entre 0 et 1.

M. B EMSI MATLAB January 4, 2022 12 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Opérations et fonction portant sur les vecteurs

M. B EMSI MATLAB January 4, 2022 13 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Opérations et fonction portant sur les vecteurs

cross(x,y): calcule le produit vectoriel des deux vecteurs x et y .


sum(x.*y): calcule le produit scalaire des deux vecteurs x et y .
sum(x): somme des éléments du vecteur x ,
prod(x): produit des éléments du vecteur x ,
max(x): plus grand élément du vecteur x .
min(x): plus petit élément du vecteur x .
mean(x): moyenne des éléments du vecteur x .
sort(x): ordonne les éléments du vecteur x par ordre croissant.
fliplr(x): renverse l’ordre des éléments du vecteur x .

M. B EMSI MATLAB January 4, 2022 14 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Définir une matrice


D’une façon générale, on définit une matrice en donnant la liste de ses élé-
ments entre crochets.

M. B EMSI MATLAB January 4, 2022 15 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Manipuler les matrices


Que s’est-il passé sur la matrice A?

M. B EMSI MATLAB January 4, 2022 16 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Les matrices spéciales

Certaines matrices se construisent très simplement grâce à des comman-


des dédiées. Citons les plus utilisées:
eye(n): la matrice identité de Rn,n
ones(m,n): la matrice à m lignes et n colonnes dont tous les
éléments valent 1
zeros(m,n): la matrice à m lignes et n colonnes dont tous les
éléments valent 0
rand(m,n): une matrice à m lignes et n colonnes dont les éléments
sont générés de manière aléatoire entre 0 et 1
magic(n): permet d’obtenir une matrice magique de dimension n.

M. B EMSI MATLAB January 4, 2022 17 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Extraction des éléments d’une matrice

M. B EMSI MATLAB January 4, 2022 18 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Extraction des éléments d’une matrice: commandes diag

M. B EMSI MATLAB January 4, 2022 19 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Extraction des éléments d’une matrice: commandes tril et triu

M. B EMSI MATLAB January 4, 2022 20 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Opérations et fonctions portant sur les matrices

Si les opérandes sont des matrices, les opérations + (addition), - (soustrac-


tion), ∗ (multiplication), ˆ (exponentiation), sont alors les opérations ma-
tricielles usuelles. Ainsi A∗ B désigne le produit de A par B et Aˆ2 le carré de
A

M. B EMSI MATLAB January 4, 2022 21 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Opérations et fonctions portant sur les matrices

Si les dimensions des matrices A et B sont incompatibles avec l’opération


matricielle, matlab renvoi un message d’erreur

M. B EMSI MATLAB January 4, 2022 22 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Les fonctions matricielles courantes

det(A): renvoie le déterminant de la matrice carrée A.


eig(A): renvoie les valeurs propres (eigenvalues) de la matrice carrée A. Si
l’on souhaite également les vecteurs propres on exécutera [V , D] = eig(A)
qui renvoie une matrice diagonale D formée des valeurs propres de A et
une matrice V dont les vecteurs colonnes sont les vecteurs propres
correspondants.
poly(A): renvoie les coefficients du polynôme caractéristique associé à la
matrice carrée 1.
inv(A): renvoie l’inverse de la matrice carrée A.
rank(A): renvoie le rang de la matrice carrée 1.
trace(A): renvoie la trace de la matrice A.
expm(A): renvoie l’exponentielle matricielle de A.

M. B EMSI MATLAB January 4, 2022 23 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Graphique 2D

M. B EMSI MATLAB January 4, 2022 24 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Graphique 2D

M. B EMSI MATLAB January 4, 2022 25 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Graphique 2D

M. B EMSI MATLAB January 4, 2022 26 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Graphique 2D

M. B EMSI MATLAB January 4, 2022 27 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Scripts et fonctions

Pour des calculs complexes et répétitifs, il est préférable (ou plutôt


indispensable) de rassembler l’ensemble des commandes dans un
fichier qui constituera le programme à exécuter.
Il est possible d’enregistrer une séquence d’instructions dans un
fichier (appelé un "M-file") et de les faire exécuter par Matlab.
Un tel fichier doit obligatoirement avoir une extension de la forme
.m (d’où le nom) pour être considéré par Matlab comme un fichier
d’instructions.
On distingue 2 types de M-file les fichiers de scripts et les fichiers de
fonctions

M. B EMSI MATLAB January 4, 2022 28 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Scripts et fonctions: Éditer un fichier .m

M. B EMSI MATLAB January 4, 2022 29 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Scripts et fonctions: Fichier script

Un fichier script permet de regrouper des séries de commandes


Matlab.
À son lancement, les instructions qu’il contient s’exécutent
séquentiellement comme si elles étaient lancées depuis l’invite de
commande.
Un script stocke ses variables dans le workspace, lequel est partagé
par tous les scripts. Ainsi, toutes les variables crées dans les scripts
sont visibles depuis la command window et vice versa.
Lorque Matlab détecte une erreur, le programme s’arrête et un
message d’erreur s’affiche à l’écran (avec le numéro de la ligne où
l’erreur est détectée).

M. B EMSI MATLAB January 4, 2022 30 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Exécuter un fichier script


Il faut que le fichier soit enregistré dans le répertoire actif

Commande window

Menu → EDITOR → commande Run

M. B EMSI MATLAB January 4, 2022 31 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Fichier fonction

Le principe d’une fonction est d’effectuer des opérations à partir d’une ou


plusieurs entrée et fournir une ou plusieurs sorties (résultats).
Les variables d’entrées sont des paramètres à spécifier en argument de la
fonction, tandis que les variables de sorties sont des valeurs quelle
renvoie.
Un m-file est définit comme une fonction en plaçant en tête du fichier le mot
clé function suivit de son prototype
Un prototype est de la forme

function [s1, s2, . . . ] = nomfonction(e1, e2, . . . )

Le membre de gauche ([s1, s2, . . . ] ) regroupe les sorties renvoyées par la


fonction et les variables entres parenthèses sont les entrées.

Le nom du fichier doit être identique au nom de la fonction

(par exemple: ici nomfonction.m est le nom du fichier)

M. B EMSI MATLAB January 4, 2022 32 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

M. B EMSI MATLAB January 4, 2022 33 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

M. B EMSI MATLAB January 4, 2022 34 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Opérateurs relationnels et logiques

Matlab possède des opérateurs qui permettent d’établir des expressions


renvoyant en résultat une valeur logique, c’est-à-dire 0 ou 1.
Ces expressions logiques sont généralement utilisées dans les structures de
contrôle (if, while, switch, for).

Opérateurs relationnels Opérateurs logiques


== Égale à & Et
∼= Différent de | Ou
< Strictement inférieur à ∼ Non
<= Inférieur ou égal à xor Ou exclusif
> Strictement supérieur à any (x ) retourne 1 si un des éléments
de x est non nul
>= Supérieure ou égale à all(x ) retourne 1 si tous les éléments
de x sont nuls

Le résultat vaut 1 si le test est vrai et 0 s’il est faux.

M. B EMSI MATLAB January 4, 2022 35 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Opérateurs relationnels et logiques

M. B EMSI MATLAB January 4, 2022 36 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Structures de contrôle: Branchement conditionnel {if . . . elseif . . . else}

M. B EMSI MATLAB January 4, 2022 37 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Structures de contrôle: Boucle conditionnel (while . . . )

M. B EMSI MATLAB January 4, 2022 38 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Structures de contrôle: Branchements multiples (switch . . . )

M. B EMSI MATLAB January 4, 2022 39 / 40


Introduction Les commandes de base Les vecteurs Les matrices Les représentations graphiques Scripts et fonctions Opérateurs relationnels et logiques

Structures de contrôle: Boucle itérative (for)

M. B EMSI MATLAB January 4, 2022 40 / 40

Vous aimerez peut-être aussi