0% ont trouvé ce document utile (0 vote)
124 vues43 pages

Initiation À Matlab

Transféré par

Saad Mouatassim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
124 vues43 pages

Initiation À Matlab

Transféré par

Saad Mouatassim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 43

I N I T I AT I O N À M AT L A B

 Par: Saloua SENHAJI


PLAN
 Partie I: Introduction
 Avantages
 Mode de fonctionnement de Matlab
 L’ environnement MATLAB
 Démarrage et arrêt de Matlab
 Partie II: Aspects élémentaires
 Aide,
 Variables
 Opérations élémentaires
 Fonctions prédéfinies
 Commentaires
 Historique des commandes
 Partie III Matrices et tableaux
 Partie IV:
 Instructions de contrôle
 Les opérateur logiques et les relations
 Partie V: 2
 Les fonctions prédéfinies
 Les fichiers: Script et Function
25/12/2023 Intitiation à Maltab
INTRODUCTION
 MatLab (Matrix Laboratory):
 Outils très puissant de calcul numérique, de programmation et de
visualisation graphique.
 Environnement interactif de travail,
 Optimisé pour le traitement des matrices.

 Matlab est développé et commercialisé par la société


américaine The MathWorks (http://www.mathworks.com/)
 Dernière version: R2023b (7.1)

 Environnement: Windows, Linux, Unix, Mac OS

 Licence: Shareware

25/12/2023 Intitiation à Maltab


INTRODUCTION:
AVANTAGES 1/2
 Facilité et simplicité de développement des applications
Exemple: Modifier l’élément i,j d’une matrice I

Matlab: C:

I(k,l)=5; for (i=1;i≤n*m;i++)
{
if (i==k && j==l)
I[i,j]=5; 4

}
25/12/2023 Intitiation à Maltab
INTRODUCTION:
AVANTAGES 2/2
 Disponibilité de nombreuses boites à outils (Toolboxes).
 Ainsi, On peut ajouter des “boîtes à outils” (toolbox) pour une
utilisation spécifique pour le traitement des signaux 1D, 2D et/ou 3D
pour l’analyse statistique, pour l’optimisation …
 Facilité d’intégration de ces toolbox dans Matlab
Exemple: Excel Link, Neural Network Toolbox, Communications
Toolbox, …

25/12/2023 Intitiation à Maltab


INTRODUCTION:
FONCTIONNEMENT DE MATLAB
 Deux modes:
1. Mode interactif: 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 les
fichiers .m

25/12/2023 Intitiation à Maltab


INTRODUCTION:
ENVIRONNEMENT MATLAB 1/2

Blockset

toolbox Simulink

Commande Graphique
Fichier M

Fenêtres Utilisateur 7

25/12/2023 Intitiation à Maltab


INTRODUCTION:
ENVIRONNEMENT MATLAB 2/2
 Fenêtres Utilisateur
 Fenêtre Commande: Dans cette fenêtre, l'usager donne les
instructions et MATLAB retourne les résultats.
 Fenêtres Graphique: MATLAB trace les graphiques dans
ces fenêtres.
 Fichiers M: Ce sont des programmes en langage MATLAB
(écrits par l'usager).

25/12/2023 Intitiation à Maltab


DÉMARRAGE ET ARRÊT DE MATLAB
 Démarrage:
1. Tapez matlab dans une fenêtre de commandes,
2. Double-cliquez sur l’icône Matlab sur le bureau ou à partir
du menu démarrer.
 Arrêt :
Pour quitter la session tapez quit dans l’invite de Matlab.

10

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
AIDE 1/2
 Pour obtenir de l'aide sur un sujet, une instruction ou une
fonction, on tape help suivi par le sujet, l'instruction ou
la fonction désirée.
Exemple:
help sqrt %donne l’aide sur la fonction sqrt
 La commande help toute seule vous indiquera les
différents thèmes abordés dans la documentation.

11

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
AIDE 2/2
help -> donne de l’aide sur une fonction ou un toolkit (help help)
helpdesk -> documentation en hypertexte
helpwin -> aide en ligne dans une fenêtre séparée
lookfor -> recherche d’un mot clé (lent)
which -> localise les fonctions et les fichiers
what -> liste des fichiers matlab dans le répertoire courant
exist -> check si une fonction ou une variable existe dans le
workspace
who, whos -> liste des variables dans le workspace

12

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
VARIABLES 1/4
 Déclaration des variables
>> x=2
x=2
>> y=3;
 Lister les variables dans le workspace (espace du travail)
>> who % fournit la liste des fonctions définies dans le workspace (
Your variables are:
xy
>>whos % donne plus d'informations que who
Name Size Bytes Class Attributes
x 1x1 8 double
y 1x1 8 double
13

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
VARIABLES 2/4
 Effacer des variables du workspace
>> clear y
>> who
Your variables are:
X
y=56; var1='text 1‘; var2='c''est une variable de type texte‘;
>>clear y var1 % Effacer les variables y et txt1
>>clear all % Effacer toutes les variables du workspace

14

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
VARIABLES 3/4
 Variables prédéfinies:
ans, i, j, pi, eps, realmax, realmin, …
 Ces variables ne sont pas protégé

Exemple 1: Exemple 2: Exemple 3: Exemple 4: Exemple 5:


>> i >> eps >> realmax >> realmin >> 6
ans = ans = ans = ans = ans =
0 + 1.0000i 2.2204e-16 1.7977e+308 2.2251e-308 6
>> ans
ans =
6

15

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
VARIABLES 4/4
 Variables prédéfinies:
ans réponse à une expression sans assignation
eps précision de la virgule flottante
realmax plus grand nombre flottant
realmin plus petit nombre flottant positif
pi π
i, j [√(-1)]
inf ∞
NaN Not a Number
flops nombre d'opérations flottantes par seconde
nargin nombre d'arguments d'entrée d'une fonction
16
nargout nombre d'arguments de sortie d'une fonction
computer type du calculateur
25/12/2023 Intitiation à Maltab
ASPECTS ÉLÉMENTAIRES:
OPÉRATIONS ÉLÉMENTAIRES
 On définit:
+ Addition
- Soustraction
* Multiplication
/ Division à droite
\ Division à gauche
^ Puissance
 Exemples:
10/2 10\2
ans = ans = 17

5 0.2000
25/12/2023 Intitiation à Maltab
ASPECTS ÉLÉMENTAIRES:
FONCTIONS PRÉDÉFINIES
 Matlab à des fonctions prédéfinies, ainsi on trouve des
fonctions qui sont courantes et d’autres moins courantes.
Exemple de fonctions:
cos, tan, asin, acos, atan , sqrt, log, log10, exp, …
 Pour appliquer une fonction à une valeur, il faut mettre
cette dernière entre parenthèses.
Exemple :
>> sin(pi/2)
ans = 1
18

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
COMMENTAIRES

>> s=2+3 % je fais une somme


s=
5
 Aide des fonctions:
function [varout1, varout2] = MyFunction(varin1, varin2)
%Commentaire de l'aide
(votre code)
>> help MyFunction
Commentaire de l'aide
19

25/12/2023 Intitiation à Maltab


ASPECTS ÉLÉMENTAIRES:
HISTORIQUE DES COMMANDES
Retrouver et éditer les commandes tapées grâce aux
touches de direction.
1. Appuyez sur ↑ pour remonter dans les commandes
précédentes, ↓ pour redescendre
2. Retrouver toutes les commandes commençant par un
groupe de lettres.
Exemple: pour retrouver toutes les commandes tapées
qui commencent par «fig», tapez fig, puis autant de
fois sur ↑.

21

25/12/2023 Intitiation à Maltab


MATRICES ET TABLEAUX
 Introduction
 Définition d'un tableau

 Accès à un élément d'un tableau

 Extraction de sous-tableaux

 Construction de tableaux par blocs

 Opérations sur les tableaux

 Longueurs de tableau

 Génération rapide de tableaux

22

25/12/2023 Intitiation à Maltab


INTRODUCTION
 Le concept de tableau est important, car il est à la base
du graphique : typiquement pour une courbe de points,
on définira un tableau de abscisses et un tableau de
ordonnées.
 Matrice: tableaux rectangulaires à deux indices.

23

25/12/2023 Intitiation à Maltab


DÉCLARATION D'UN TABLEAU
 Matrice M contenant:
>>M = [1 2 3;
2 4 5;
6 5 5]
M= 1 2 3
2 4 5
6 4 5
Ou bien:
>>M = [1,2,3;11,12,13;21,22,23] % ou M = [1 2 3;11 12 13;21 22 23]
 Vecteurs:

>> V = [1 2 3] % ou V=[1,2,3]
24
V=
25/12/2023 1 2 3 Intitiation à Maltab
ACCÈS À UN ÉLÉMENT D'UN TABLEAU
 Accès
>> M(2,1)
ans =
2
 Modifier:
>> M(2,1)=8
M=
1 2 3
8 4 5
6 4 5
 Cas exceptionnel
>> P(3,3)=3
P=
25
0 0 0
0 0 0
25/12/2023 Intitiation à Maltab
EXTRACTION DE SOUS-TABLEAUX
 Il est souvent utile d'extraire des blocs d'un tableau existant. Pour
cela on utilise le caractère « : ».
 Il faut spécifier pour chaque indice la valeur de début et la valeur de fin.
 Syntaxe: pour un tableau à deux indices
tableau(début:fin, début:fin)
 Exemple:
>> M(1:2,2:3)
% affiche les éléments de la ligne 1 à 2 et la colonne 2 à 3
 Si on utilise le caractère « : » seul, ça veut dire prendre tous les indices
possibles.
 Exemple:
>> M(1:2,:)
% affiche les éléments de la ligne 1 à 2 et tous les colonnes
>> M(2,:) 26
% affiche la deuxième ligne
25/12/2023 Intitiation à Maltab
CONSTRUCTION DE TABLEAUX PAR
BLOCS
 A partir des matrices et vecteurs on peut définir la
matrice:
 On considère les matrices et vecteurs suivants:
>>M = [1,2,3;11,12,13;21,22,23]
>> V = [1 2 3]
>> U= [11;12;13]
 La commande:
>> N=[M, U; V, 0]
N=
1 2 3 11
11 12 13 12
21 22 23 13
1 2 3 0
 C’est quoi le résultat des commandes suivantes:
27
>> M=[M; V]
>> M=[M; U']
25/12/2023 Intitiation à Maltab
GRAPHIQUES SIMPLES
 MATLAB en plus de ses grandes possibilités de calcul
numériques produit des graphiques en 2 ou 3
dimensions.
 On ne s’intéressera ici qu’au graphique 2D simple.

 La fonction plot(x,y) permet de tracer une courbe liant


un ensemble de valeurs (vecteur) y en fonction d’un une
autre vecteur x (bien entendu de même dimension).
 Dans l’exemple suivant on se propose de tracer la
fonction suivante :

y=cos(2x) +0.5 sin(0.5x).


La variable x est un vecteur dont les valeurs vont de –π à +π avec un pas de
π/100. 28

25/12/2023 Intitiation à Maltab


Que remarquez-vous ? Quelle est la fonction réalisée par chaque instruction ?

30

25/12/2023 Intitiation à Maltab


 Pour plus de clarté, il faut nommer les axes, mettre les
unités, proposer une légende… surtout quand il y a
plusieurs courbes sur la même figure. Ceci est
évidemment un peu long à écrire à l'invite MATLAB. Un
SCRIPT (un fichier .m) est tout indiqué, comme le
montre cet exemple (à taper dans un fichier .m) :

31

25/12/2023 Intitiation à Maltab


32

25/12/2023 Intitiation à Maltab


33

25/12/2023 Intitiation à Maltab


 Voici un autre exemple simple:

>>t=0:pi/10:2*pi;
>>y=sin(t);
>>plot(t,y)
>>title(’Mon premier graphique sous Matlab’)
>>xlabel(’t en secondes’)
>>ylabel(’V en volts’)

34

25/12/2023 Intitiation à Maltab


35

25/12/2023 Intitiation à Maltab


Soit les signaux suivants:
 X0=A0sin(2πf0t)
EXEMPLE
 X1=A1sin(2πf1t)

 X2=A2sin(2πf2t)

Avec

Ecrire le code Matlab qui affiche les 3 signaux ainsi qui affiche un
quatrième signal qui donne la combinaison de ces trois signaux.

36

25/12/2023 Intitiation à Maltab


OPÉRATIONS SUR LES TABLEAUX
 Addition et soustraction
 Les deux opérateurs sont les mêmes que pour les scalaires.
 Dans le cas où les deux tableaux concernés ont la même taille, Le
tableau résultant est obtenu en ajoutant ou soustrayant les termes de
chaque tableau.
 Multiplication, division et puissance terme à terme
 Ces opérateurs sont notés « .* », « ./ » et « .^ » (attention à ne pas
oublier le point).
 Ils sont prévus pour effectuer des opérations termes à terme sur deux
tableau de même taille.

38

25/12/2023 Intitiation à Maltab


OPÉRATIONS SUR LES TABLEAUX
 Multiplication, division et puissance au sens matriciel
 Ces opérations matricielles sont notées simplement sans point: « * »,
« / », « ^ » et ne doivent pas être confondues avec les opérations
terme à terme.
 Dans l’écriture A*B le nombre de colonnes de A doit être égal au
nombre de lignes de B pour que la multiplication fonctionne.
 La division A/B représente A multiplié (au sens des matrices) à la
matrice inverse de B.
 Il existe aussi une division à gauche qui se note « \ ».
Ainsi A\B signifie l'inverse de A multiplié par B.
 Exemple: Calculer à la main et après sur Matlab
>> [1 0; 0 1] * [1 2; 3 4]
>> [1 0; 0 1] .* [1 2; 3 4] 39

25/12/2023 Intitiation à Maltab


OPÉRATIONS SUR LES TABLEAUX
 Transposition
 L'opérateur transposition, présenté par « ‘ » et utilisé pour
transformer des vecteurs lignes en vecteurs colonnes et
inversement.
 Longueurs de tableau
 La fonction « size » appliquée à une matrice renvoie un
vecteur de deux entiers : le premier est le nombre de lignes, le
second le nombre de colonnes.
 La commande fonctionne aussi sur les vecteurs et renvoie 1
pour le nombre de lignes (resp. colonnes) d'un vecteur ligne
(resp. colonne).
 Pour les vecteurs, la commande length est plus pratique et
renvoie le nombre de composantes du vecteur, qu'il soit ligne 40

ou colonne.
25/12/2023 Intitiation à Maltab
GÉNÉRATION RAPIDE DE TABLEAUX
 Matrices classiques
 zeros: On peut définir des matrices de taille donnée ne contenant que des 0
avec la fonction « zeros »
>> zeros(3,3)
 ones: On peut définir des matrices de taille donnée ne contenant que des 1
avec la fonction « ones »
>> ones(2,2)
 identité: La matrice identité est obtenue avec eye (1 à la diagonale). On
spécifie seulement la dimension de la matrice (qui est carrée...)
>> eye(3)
 Listes de valeurs: Il s'agit de générer dans un vecteur une liste de valeurs
équidistantes entre deux valeurs extrêmes.
variable = valeur_début:pas:valeur_fin
>> x = 0:0.1:1 41
 Créer 101 valeurs équi-réparties sur l'intervalle [0,2pi]
25/12/2023 Intitiation à Maltab
INSTRUCTIONS DE CONTRÔLE
 Comme dans la plupart des langages il existe des
instructions de contrôle de la forme for, while ou if.
 FOR:
 Syntaxe:
for compteur = début : pas : fin
expression;
end
 Exercice:
 Ecrivezun code Matlab qui permet d’incrémenter les valeurs
d’une matrice utilisant la boucle FOR

42

25/12/2023 Intitiation à Maltab


INSTRUCTIONS DE CONTRÔLE
 WHILE:
 La boucle est répétée tant que la relation reste vraie.
 Syntaxe:
while relation
expression;
end
 Exercice:
 Calculer le factoriel d’un chiffre utilisant la boucle WHILE

43

25/12/2023 Intitiation à Maltab


INSTRUCTIONS DE CONTRÔLE
 IF:
 Syntaxe  Syntaxe 2:
1:
if relation if relation
expression; expression1;
end else
 Syntaxe 3: expression2;
end
if relation1
expression1;
elseif relation2
expression2;
else
expression3;
end
44

25/12/2023 Intitiation à Maltab


RELATIONS
 Les opérateurs de relation sont:
< inférieur à >= supérieur ou égal à
> supérieur à == égal à
<= inférieur ou égal à ~= différent de

 Les évaluations de relations peuvent elles-mêmes être manipulées


par des opérateurs logiques tels que:
& (et),

 | (ou)

 ~ (non)

 Exercice:
Ecrivez un code Matlab qui permet d’attribuer une mention à une note
d’un étudiant 45

25/12/2023 Intitiation à Maltab

Vous aimerez peut-être aussi