République Algérienne Démocratique et populaire
Université SAAD DAHLEB Blida-1-
Faculté de Math Informatique
Département de MI
Niveau : L1 – Deuxième semestre
MRABTI Kawtar
[email protected]
MatLab
MATrix LABoratory
MATLAB (MATrix LABoratory) est un environnement (logiciel) de
programmation interactif pour le calcule scientifique et la visualisation des
données produit par Mathworks.
Matlab est très utilisé dans les domaines d’ingénierie et de recherche
scientifique, ainsi qu’aux établissements d’enseignement supérieur.
MRABTI Kawtar
[email protected]
Sa popularité est due principalement aux points suivants :
Sa richesse : avec MATLAB, il est possible de réaliser des manipulations mathématiques
complexes en écrivant peu d’instructions. Il peut évaluer des expressions, dessiner des
graphiques et exécuter des programmes classiques. Et surtout, il permet l’utilisation directe de
plusieurs milliers de fonctions prédéfinie.
L’utilisation des boites à outils (toolboxes) : ce qui augmente sa popularité dans
plusieurs disciplines (simulation, traitement de signal, imagerie, intelligence artificielle,...etc.).
La simplicité de son langage de programmation : un programme écrit en MATLAB est plus
facile à écrire et à lire comparé au même programme écrit en C ou en PASCAL.
La gestion des variables : une caractéristique de MATLAB est que les variables n’ont pas à
être déclarées, leur nature se déduisant automatiquement lors de l’affectation, ce qui libère
l’utilisateur de s’occuper de typage de données et ainsi de lui éviter les problèmes de
transtypage.
1-2- L’environnement MATLAB :
La version 7 de Matlab affiche au démarrage plusieurs fenêtres notamment:
La fenêtre La fenêtre
La fenêtre Command La fenêtre
Workspace Command
Current Folder Window History
Current Folder: indique le répertoire courant ainsi que les fichiers existants.
Workspace: indique toutes les variables existantes avec leurs types et valeurs.
Command History: garde la trace de toutes les commandes entrées par l’utilisateur.
Command Window: nous l’utilisons pour formuler nos expressions et interagir avec
MATLAB, et c’est la fenêtre la plus utiliser.
1- 3- Interaction sur MATLAB
Le moyen le plus simple pour utiliser MATLAB est d’écrire directement dans la
fenêtre de commande (CommandWindow) juste après le curseur (prompt) >>
Pour calculer une expression mathématique il suffit de l’écrire comme ceci :
>> 5+6
Puis on clique sur la touche Entrer pour voir le résultat.
ans =
>> 11
Si nous voulons qu’une expression soit calculée mais sans afficher le résultat, on ajoute
un point virgule ‘;’ à la fin de l’expression comme suit :
>> 5+6 ;
>>
Il est possible d’écrire plusieurs expressions dans la même ligne en les faisant séparées par des virgules ou
des points virgules. Par exemple
>> 5+6, 2*5-1 >> 5+6; 2*5-1, 12-4;
ans = ans =
9
11
ans =
9
Note 1
Pour créer une variable on utilise la structure simple :
nom_variable = valeur (sans se préoccuper du type de la variable)
Exemple:
>> a=2;
>> b = ‘bonjour’;
>> b = false;
Le nom d’une variable ne doit contenir que des caractères alphanumériques
ou le symbole ’_’ (underscore) (les symboles d’opération sont interdits), et doit
commencer par un alphabet, nous devons aussi faire attention aux majuscules
car le Matlab est sensible à la casse (A et a sont deux variables différentes).
Note 2 : C’est un point essentiel du langage Matlab, il permet
d’utiliser dynamiquement les variables et même de leurs
changer de type au cours du programme.
1- 3- Commandes pour la gestion d’une session :
clc nettoie la fenêtre dite Command
clear enlève les variables de la mémoire
exist (‘nom’) détermine si un fichier existant ou
une variable a le nom ‘nom’
help nom recherche en ligne pour le sujet nom
lookfor nom recherche l’aide pour le mot-clé nom
quit arrête Matlab
who énumère les variables courantes en
mémoire
whos énumère les variables actuelles et
leur dimension
1- 4- Les Opérations de base sur Matlab:
MATLAB utilise une notation décimale conventionnelle, avec un point décimal
facultatif ‘.’ et le signe ‘+’ ou ‘–‘ pour les nombres signés, la notation scientifique utilise
la lettre ‘e’ pour spécifier le facteur d’échelle en puissance de 10. Les nombres
complexes utilise les caractères ‘i’ et ‘j’ (indifféremment) pour designer la partie
imaginaire. Le tableau suivant donne un résumé :
Le type Exemples
Entier 5 -83
Réel en notation décimale 0.0205 3.1415926
Réel en notation scientifique 1.60210e-20 6.02252e23 (1.60210x10-20 et 6.02252x1023)
Complexe 5+3i -3.14159j
Opérateurs arithmétiques :
Opération Symbole sur Matlab Exemple opération Ecriture sur Matlab
Addition + a+b a+b
Soustraction - a-b a-b
Multiplication * ab a*b
Division vers la / a/b a/b
droite
Division vers la \ b/a a\b
gauche
Puissance ^ ab a^b
Racine sqrt Sqrt(a)
Les nombres :
MATLAB utilise toujours les nombres réels (double precision) pour faire les calcules, ce qui
permet d’obtenir une précision de calcule allant jusqu’aux 16 chiffres significatifs.
Mais il faut noter les points suivants :
Le résultat d’une opération de calcule est par défaut affichée avec quatre chiffres après la
virgule.
Mais on peut utiliser des fonctions pour avoir sois 14, 4,2 chiffres, après la virgule:
La commande Signification
format short affiche les nombres avec 04 chiffres après la virgule
format long affiche les nombres avec 14 chiffres après la virgule
format bank affiche les nombres avec 02 chiffres après la virgule
format rat affiche les nombres sous forme d’une ration (a/b)
Exemple : >> format short
>> 8/3 >> 8/3
ans = ans =
2.6667 2.6667
>> format long >> 7.2*3.1
>> 8/3 ans =
ans = 22.3200
2.66666666666667 >> format rat
>> format bank >> 7.2*3.1
>> 8/3 ans =
ans = 558/25
2.67
Les constants :
MATLAB définit les constantes suivantes :
La constante Sa valeur
pi =3.1415...
exp(1) e=2.7183...
Inf ∞
eps ≈ 2 × 10−16.
Les fonctions prédéfinie :
La fonction Sa signification
sin(x) / cos(x) le sinus et le cosinus de x (en radian)
tan(x) / atan(x) le tangent et l’arc tangent de x (en radian)
asin(x) / acos(x) l’arc sinus et l’arc cosinus de x (en radian)
sqrt(x) la racine carrée de x
abs(x) la valeur absolue de x
exp(x) = ex
log(x) logarithme naturel de x ln(x)=loge(x)
log10(x) logarithme à base 10 de x log10(x)
imag(x) la partie imaginaire du nombre complexe x
real(x) la partie réelle du nombre complexe x
round(x) arrondi un nombre vers l’entier le plus proche
1- 5- L’évaluation des expressions en MATLAB :
Créer un variable x et donnez lui la valeur 2, puis écrivez les expressions
suivantes :
>> x=2 ;
>> 3*x^3-2*x^2+4*x ;
>> exp(1+x)/(1-sqrt(2*x)) ;
>> abs(asin(2*x)) ; ou bien abs(sin^-1(2*x))
>> log(x)/(2*x^3)-1 ;
1- 5- Calcul sur les nombres complexes :
Créer un variable x et donnez lui la valeur 2, puis écrivez les expressions
suivantes : >> a + b
>> a = 1 + i ans =
a= -1.0000 + 4.5000i
1.0000 + 1.0000i >> a * b
>> b = -2 + 3.5j ans =
-5.5000 + 1.5000i
b=
-2.0000 + 3.5000i
1- 7- Opération sur les Vecteurs :
Création d’un vecteur :
1ere méthode
>>r = [2,4,10] «Entrée»
2éme méthode
>>s = [2 4 10] «Entrée»
s=
2.0000 4.0000 10.0000 Séparateurs
vecteurs lignes
Vecteurs colonnes Vecteurs (suite)
>>g = [3;7;9] «Entrée»
g=
3
7 Séparateur pour les
9 lignes
ou
>>g = [3,7,9]´ «Entrée»
g=
3 Transposée
7
9
3éme méthode: Création d’un vecteur de début vers la fin avec un pats
>>g = [Début:Pats:Fin] «Entrée»
Exemple
>> g = [1:0.5:3] «Entrée»
g=
1.0000 1.5000 2.0000 2.5000 3.0000
4éme méthode: Création d’un vecteur de début vers la fin avec un
nombre d’élément
On utilise linspace:
S= linspace(début,fin,Nombred’élément)
Exemple
>> S = linspace(1,5,5) «Entrée»
S=
1.0000 2.5000 3.0000 4.0000 5.0000
Opération arithmétique:[+,-,*,/]
Note: Attention aux dimensions: On ne peut pas ajouter ou soustraire
que des vecteurs de même taille
Note: les mêmes méthodes des opérations se fait pour les vecteur
colonnes
Comment afficher la valeur d’un élément :
Nom de vecteur ( la place d’élément) Entrée
Comment ajouter un ou plusieurs éléments à la fin d’un
vecteur
Exemple :
Créer un vecteur colonne v de 3 éléments .
Ajouter la valeur 5 à la fin de ce vecteur.
Explication:
On a crée un vecteur colonne qui contient 3
éléments, donc la valeur 5 va être le 4éme
élément.
On écrit v(4)=5
Comment ajouter une valeur à un élément d’un
vecteur :
Nom de vecteur (la place d’élément )= Nom de vecteur (la place d’ élément)+ la valeur
Si on veux changer les valeurs de trois premier éléments du vecteur M précédent par 0 il suffit
d’écrire:
M(1:3)=0
1- 8- Opération sur les Matrices :
Création d’une matrice :
>>A = [2,4,10;16,3,7] «Entrée»
A=
2 4 10 Séparateurs
16 3 7
>>a = [1,3,5]; «Entrée»
>>b = [7,9,11]; «Entrée»
>>c = [a b] «Entrée»
c=
2 vecteurs séparés par ,
1 3 5 7 9 11
ou un espace
>>D = [a;b] «Entrée»
D=
1 3 5 2 vecteurs lignes avec
7 9 11 séparateur de lignes
Transposée d’une matrice :
Matrice transposée : matrice dont on remplace les
lignes par les colonnes
2 6
A
3 5
T 2 3
A
6 5
>>A= [-2,6;-3,5]’ apostrophe
A=
-2 -3
6 5
Opérations matricielles (multiplication) :
Posons que
A : matrice m x p
B : matrice p x n
Produit matriciel C = AB C = matrice m x n
IMPORTANT :
Nombre de colonnes de A = nombre de lignes de B
(... suite à la diapositive suivante)
Opérations matricielles (multiplication) :
Posons que
A : matrice m x p
B : matrice p x n
Produit matriciel C = AB C = matrice m x n
IMPORTANT :
Nombre de colonnes de A = nombre de lignes de B
(... suite à la diapositive suivante)
Jeu des indices :
v(:) tous les éléments du vecteur v
v(2:5) du 2e au 5e élément
A(:, 3) tous les éléments de la 3e colonne
A(:,2:5) tous les éléments de la 2e à la 5e colonne
A(2:3,1:3) tous les éléments dans la 2e et 3e ligne et qui
sont aussi dans la 1ère à la 3e colonne
A( [1 4] ) = [ ] élimine les colonnes 1 et 4
>>A= [6, 9, 4; 1, 5, 7];
>>A(1,5) = 3 «Entrée» agrandissement
A=
6 9 4 0 3 remplissage avec
1 5 7 0 0 des 0
Commandes pour les vecteurs et matrices :
find(x) Fournir une variable indicée contenant les indices
des éléments non nuls de x
[u, v, w] = find (A) Fournir des variables indicées contenant
les indices des lignes et colonnes des
éléments non nuls de la matrice A
length(A) Fournir le nombre d’éléments de A si A est un vecteur
ou la valeur max de m ou n si A est une matrice m x n
max(A) Fournir l’élément ayant la valeur algébrique max
si A est un vecteur ou un vecteur contenant l’élément
max dans chaque colonne de la matrice A
[x, k] = max(A) Même définition que max(A) sauf que le stockage
des valeurs max s’effectue dans le vecteur ligne
x et leurs indices dans le vecteur ligne k
... suite à la diapositive suivante
det(A) pour calculer le déterminant d’une matrice
diag(A) pour extraire la diagonale principale d’une matrice
min(A) Même signification sauf qu’il s’agit des valeurs
[x, k] = min(A) min
size(A)Fournir un vecteur ligne contenant les dimensions
m x n de la variable indicée A
sort(A) Classer chaque colonne de la variable indicée A par
ordre croissant des grandeurs et fournir une variable
indicée ayant les mêmes dimensions que A
sum(A) Effectuer la somme des éléments de chaque colonne
de A et fournir le résultat dans un vecteur ligne
(Fin)