0% ont trouvé ce document utile (0 vote)
5 vues30 pages

Compte Rendu TP Matlab

Ce document présente un compte rendu de travaux pratiques sur MATLAB, axé sur son utilisation en génie électrique et en automatique. Il décrit l'interface de MATLAB, les fonctionnalités de base, ainsi que des exemples pratiques tels que le tracé de fonctions et la résolution de systèmes d'équations linéaires. De plus, il aborde l'application de MATLAB à l'analyse et à la simulation de systèmes dynamiques à l'aide de la Control System Toolbox et de Simulink.

Transféré par

rihabamrani732
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues30 pages

Compte Rendu TP Matlab

Ce document présente un compte rendu de travaux pratiques sur MATLAB, axé sur son utilisation en génie électrique et en automatique. Il décrit l'interface de MATLAB, les fonctionnalités de base, ainsi que des exemples pratiques tels que le tracé de fonctions et la résolution de systèmes d'équations linéaires. De plus, il aborde l'application de MATLAB à l'analyse et à la simulation de systèmes dynamiques à l'aide de la Control System Toolbox et de Simulink.

Transféré par

rihabamrani732
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Compte Rendu de Travaux Pratiques

MATLAB et Application à l’Automatique


Filière : Génie Électrique

Réaliser par : Rihab El amrani


Encadrer par : Ihssane chetouki
Année scolaire :25/03/2026

[Date] 1
I. Généralités
Introduction
MATLAB est un logiciel largement utilisé dans les domaines scientifiques et techniques,
notamment en génie électrique et en automatique. Il permet d’effectuer des calculs
numériques, de manipuler des matrices et de simuler des systèmes dynamiques de manière
simple et efficace. L’objectif de ce travail pratique est de se familiariser avec l’environnement
MATLAB, d’explorer ses principales fonctionnalités et de l’appliquer à l’étude des systèmes
linéaires invariants. Nous nous intéressons particulièrement à la modélisation des systèmes, à
l’analyse de leurs réponses temporelles et fréquentielles, ainsi qu’à leur simulation à l’aide de
Simulink.

1. Interface principale
Au lancement du logiciel MATLAB, une interface graphique complète apparaît à l’écran.
Cette interface constitue un environnement de travail interactif permettant à l’utilisateur
d’exécuter des commandes, de programmer et d’analyser des résultats numériques et
graphiques.
L’environnement MATLAB est organisé en plusieurs fenêtres principales, chacune ayant un
rôle spécifique dans l’exécution et la gestion des programmes. On distingue principalement
quatre blocs essentiels :
1.1 Command Window (fenêtre de commande)
La Command Window est la fenêtre principale de MATLAB. Elle permet à l’utilisateur de
saisir directement des instructions à l’aide de l’invite de commande représentée par le
symbole « >> ».
Les commandes entrées dans cette fenêtre sont exécutées immédiatement après validation, ce
qui permet d’obtenir rapidement des résultats. Cette interaction directe rend MATLAB
particulièrement efficace pour les calculs rapides et les tests.
1.2 Current Directory (répertoire courant)
Le Current Directory permet de visualiser et de gérer les fichiers présents dans le répertoire
de travail courant.
Les scripts et fonctions MATLAB doivent être enregistrés dans ce répertoire afin d’être
accessibles et exécutables. Cette fenêtre facilite également la navigation entre différents
dossiers.
1.3 Workspace (espace de travail)
Le Workspace affiche l’ensemble des variables utilisées au cours de la session MATLAB.
Pour chaque variable, MATLAB indique son nom, sa taille, son type ainsi que l’espace
mémoire occupé. Cela permet à l’utilisateur de suivre et de contrôler facilement les données
manipulées.

[Date] 2
1.4 Command History (historique des commandes)
La fenêtre Command History contient la liste des commandes précédemment exécutées par
l’utilisateur.
Il est possible de réutiliser ces commandes en les sélectionnant ou en les faisant glisser vers la
Command Window, ce qui permet de gagner du temps et d’éviter de retaper des instructions
répétitives.
1.5 Fonctionnement général
La Command Window est au centre de l’utilisation de MATLAB. Toutes les instructions y
sont saisies et exécutées. Le fonctionnement est simple : l’utilisateur entre une commande,
puis valide pour obtenir le résultat.
Par exemple, si l’on saisit l’instruction suivante :

3*5
MATLAB affiche immédiatement le résultat :
ans = 15
Le mot « ans » représente la variable automatique contenant le dernier résultat calculé.
1.6 Utilisation du point-virgule
Afin d’éviter l’affichage automatique des résultats, il est possible d’ajouter un point-virgule
« ; » à la fin d’une instruction.
Dans ce cas, le calcul est effectué mais le résultat n’est pas affiché dans la Command Window.
Par exemple :

2 - Premiers pas sur des exemples


Afin de se familiariser avec le logiciel MATLAB, il est important de commencer par des
exemples simples. Cette approche permet de comprendre le fonctionnement de base du
logiciel ainsi que la syntaxe des commandes.
Dans cette section, nous allons étudier deux exemples fondamentaux : le tracé d’une fonction
sinusoïdale et la résolution d’un système d’équations linéaires.
Ces exemples doivent être réalisés directement dans la fenêtre Command Window afin de
mieux comprendre l’interaction avec MATLAB.
2.1 Calcul et tracé d’une fonction sinus

[Date] 3
Texte
On commence par définir un vecteur de temps contenant plusieurs valeurs comprises entre 0
et 6 avec un pas de 0.5 :
t = 0:0.5:6;

Ensuite, on définit la pulsation du signal :


w = 2*pi/6;
On calcule ensuite les valeurs de la fonction sinus :
y = sin(w*t);
Enfin, on trace le signal à l’aide de la commande suivante :

plot(t,y,'*')
grid on
title('Signal sinusoidal')
xlabel('Temps')
ylabel('Amplitude')

Le vecteur « t » représente le temps. MATLAB calcule ensuite les valeurs du sinus pour
chaque instant.
Le graphique obtenu représente une fonction sinusoïdale de période égale à 6.
On observe que le signal est périodique et oscille entre -1 et 1.

[Date] 4
2.2 Résolution d’un système d’équations linéaires
Considérons le système d’équations suivant :

Ce système peut être écrit sous forme matricielle : AX=B

Code Matlab :
A = [2 1 0; 4 -3 2; 1 2 -1];
B = [-5; 0; 1];
X = inv(A)*B
MATLAB permet de résoudre facilement ce système en utilisant les matrices.
La fonction inv(A) calcule l’inverse de la matrice A, ce qui permet d’obtenir la solution du
système.
Le vecteur X contient les valeurs des inconnues x, y et z.

[Date] 5
 Résultat
On obtient :
 x = 1.75
 y = -8.5
 z = -16.25

3 - Les variables

3.1 Aspects élémentaires

MATLAB permet de manipuler différents types de données tels que les nombres entiers, les
nombres réels, les nombres complexes ainsi que les chaînes de caractères.
La déclaration des variables dans MATLAB est implicite, c’est-à-dire qu’il n’est pas
nécessaire de préciser leur type. La mémoire est automatiquement allouée lors de leur
création.
L’affectation d’une valeur à une variable se fait à l’aide du symbole « = »

 Expl
icati
on

[Date] 6
Dans cet exemple, MATLAB effectue des opérations simples d’addition et de multiplication.
Lorsque le résultat n’est pas affecté à une variable, MATLAB le stocke automatiquement
dans une variable spéciale appelée ans.
Il est important de noter que MATLAB distingue les majuscules et les minuscules (par
exemple x et X sont deux variables différentes).
 Workspace
Lorsqu’une variable est définie, elle apparaît automatiquement dans la fenêtre Workspace.
Cette fenêtre permet de visualiser les variables, leur type, leur taille ainsi que la mémoire
qu’elles occupent.
La commande suivante permet d’afficher toutes les variables présentes :
<<whos>>

 Suppression des variables


MATLAB permet également de supprimer les variables :
clear x
clear all
La commande clear all supprime toutes les variables présentes dans le workspace.
3.2 Constantes prédéfinies
MATLAB possède des constantes prédéfinies très utiles dans les calculs scientifiques.
 Exemples

[Date] 7
 Explication
La constant pi représente le nombre π, tandis que i ou j représente l’unité imaginaire √-1.
MATLAB permet également de manipuler des nombres complexes.
 Exemple nombres complexes
a = 2 + 3*i;
b = 1 - i;
a+b

 Remarque importante
Les constantes prédéfinies peuvent être modifiées si l’utilisateur les redéfinit, ce qui peut
entraîner des erreurs.
pi = 1
clear pi
3.3 Quelques fonctions mathématiques
MATLAB propose un grand nombre de fonctions mathématiques permettant d’effectuer
différents types de calculs.

Catégorie Fonctions

Fonctions trigonométriques sin(x), cos(x), tan(x)

Fonctions exponentielles et logarithmiques exp(x), log(x), sqrt(x)

[Date] 8
Catégorie Fonctions

Fonctions d’arrondi round(x), floor(x), ceil(x)

Autres fonctions utiles abs(x), real(x), imag(x)

4 - Manipulation des matrices et vecteurs


Dans MATLAB, tout est basé sur les matrices. Même une variable scalaire est considérée
comme une matrice de dimension 1×1, et un vecteur est une matrice de dimension 1×n (ligne)
ou n×1 (colonne).
La maîtrise des vecteurs et matrices est essentielle pour exploiter efficacement MATLAB et
comprendre sa philosophie de calcul matriciel.
4.1 Définition d’un vecteur
 Création explicite
La méthode la plus simple pour créer un vecteur est de l’écrire directement entre crochets [].
 Vecteur ligne :

 Vecteur colonne : on utilise le point-virgule ; comme séparateur

 Création avec l’opérateur deux-points :


L’opérateur : permet de générer rapidement des vecteurs régulièrement espacés :

[Date] 9
 Syntaxe : valeur_initiale : pas : valeur_finale
 Si le pas n’est pas précisé, il vaut 1 par défaut :
v = 0:5
Génère : 0 1 2 3 4 5

 Fonctions prédéfinies : linspace et logspace


Fonction Description

linspace(a,b,N) Génère N points uniformément espacés entre a et b

logspace(a,b,N) Génère N points logarithmiquement espacés entre 10^a et 10^b


 Exemples :
v = linspace(0,10,1000);
v_log = logspace(-1,2,1000);
 v contient 1000 points de 0 à 10
 v_log contient 1000 points de 0.1 à 100 espacés logarithmiquement

 Accès aux éléments d’un vecteur


On peut accéder à des éléments précis d’un vecteur à l’aide de parenthèses ( ) :
v = [6 4 -1 3 7 0.3];
v(3) % retourne le 3ème élément
v(2:4) % retourne les éléments 2 à 4

[Date] 10
4.2 Quelques fonctions utiles
Fonction Description

length(v) Retourne le nombre d’éléments du vecteur

max(v) Renvoie la valeur maximale

min(v) Renvoie la valeur minimale

mean(v) Renvoie la moyenne des éléments

sum(v) Calcule la somme des éléments

prod(v) calcule le produit des éléments du tableau

range les éléments du tableau dans l’ordre croissant.


sort(v)

4.3 Définition d’une matrice


 Création d’une matrice
Une matrice se définit entre crochets []. Les éléments d’une ligne sont séparés par des espaces
ou des virgules, et les lignes sont séparées par des points-virgules ;.


 Résultat :

M=
1 2 3
4 5 6
7 8 9

[Date] 11
 Accès et modification des éléments
 Pour accéder à un élément : M(i,j)
 Exemple :
M (2,3) % élément 2ème ligne, 3ème colonne

 Pour modifier un élément :

 Matrices particulières
Fonction Description Exemple

zeros(m,n) Matrice nulle de m lignes et n colonnes Z = zeros(2,3)

ones(m,n) Matrice remplie de 1 U = ones(4,3)

eye(n) Matrice identité n×n I = eye(3)

rand(m,n) Matrice aléatoire avec éléments [0,1] R = rand(2,2)

diag(v) Matrice diagonale avec vecteur v sur la diagonale D = diag([2 4 0 7])

 Matrice nulle
Z = zeros(2,3)

[Date] 12
4.4 Extraction de sous-matrices et construction par
blocs
 Extraction de sous-matrices
L’opérateur : permet d’extraire des blocs de lignes ou
colonnes d’une matrice.
La syntaxe générale :
M (1:2,:) → lignes 1-2, toutes les colonnes
M (1,:) → première ligne complète

[Date] 13
M (:,2) → deuxième colonne complète

 Construction de matrices par blocs


On peut combiner matrices et vecteurs pour créer de nouvelles matrices. Les dimensions
doivent être compatibles.

Ici, M, V, U, 0 doivent être définis et compatibles en dimensions.


La fonction blkdiag() permet de créer une matrice diagonale par blocs :

[Date] 14
 Fonctions utiles pour les matrices

Fonction Description

size(M) Dimensions de la matrice

max(M) Maximum par colonne (vecteur ligne)

min(M) Minimum par colonne (vecteur ligne)

rank(M) Rang de la matrice

det(M) Déterminant

diag(M) Diagonale de la matrice

triu(M) Triangle supérieur

tril(M) Triangle inférieur

eig(M) Valeurs propres

4.5 Opérations sur les matrices


MATLAB permet d’effectuer les opérations classiques directement sur les matrices :

Opérateur Description

+ addition

[Date] 15
Opérateur Description

- soustraction

* produit matriciel

/ division droite

\ division gauche

^ puissance

' transposition

inv() inversion

II. Application à

l’Automatique
1. Introduction
MATLAB est un logiciel largement utilisé en
automatique grâce à ses nombreuses fonctionnalités pour l’analyse et la simulation des
systèmes dynamiques. La Control System Toolbox fournit des outils essentiels pour
manipuler des systèmes linéaires invariants, notamment la création et l’analyse des fonctions
de transfert.

[Date] 16
De plus, Simulink®, intégré à MATLAB, offre un environnement graphique pour la
modélisation et la simulation des systèmes multi-domaines.
2. Représentation des systèmes linéaires invariants
2.1 Fonctions de transfert
Une fonction de transfert est un outil fondamental pour représenter un système linéaire
invariant. MATLAB permet de créer des fonctions de transfert à l’aide de la commande tf().
La syntaxe générale est :
G = tf(num, den)
où :
 num : vecteur des coefficients du numérateur
 den : vecteur des coefficients du dénominateur
Ainsi, pour une fonction de transfert de la forme :

Les vecteurs num et den sont définis comme suit :


num = [b_m b_{m-1} ... b_1 b_0]
den = [a_n a_{n-1} ... a_1 a_0]
 Exemples
Définition de la fonction de transfert G(s)

Définition de la fonction de transfert H(s)

[Date] 17
Ces commandes permettent de créer des objets MATLAB représentant les systèmes étudiés,
ce qui facilite par la suite le calcul des réponses temporelles et fréquentielles, ainsi que la
simulation dans Simulink®.
2.2 Représentation d’état
En automatique, une autre façon de modéliser un système linéaire invariant est la
représentation dans l’espace d’état. Cette méthode est particulièrement adaptée pour les
systèmes multi-entrées et multi-sorties (MIMO) et pour l’analyse des systèmes dynamiques
internes.
MATLAB permet de créer un système d’état à l’aide de la commande ss(). Cette fonction
prend en argument les quatre matrices du système :

où :
 A: matrice dynamique (état → état)
 B : matrice de commande (entrée → état)
 C : matrice de sortie (état →
sortie)
 D : matrice de transfert
direct (entrée → sortie)
 Exemple continu
 Définissons un système
continu :

 Les matrices du système peuvent


être récupérées individuellement
via sys.a, sys.b, sys.c et sys.d.

[Date] 18
2.2.2 Systèmes discrets
Pour un système discret (échantillonné), la création est similaire, mais il faut spécifier la
période d’échantillonnage Ts.
 Exemple 1 – Fonction de transfert discrète en Z (période d’échantillonnage 0.2 s) :

 Exemple 2 – Fonction de transfert en z⁻¹ :

[Date] 19
 Exemple 3 – Représentation
d’état discrète (Ts = 1 s) :

 Remarque : la commande [Link]


renvoie la période
d’échantillonnage du système
discret. La valeur -1 indique que la
période n’est pas spécifiée.

2.3 Conversions de modèles


Il est souvent nécessaire de passer d’une représentation à une autre (fonction de transfert
↔ représentation d’état) selon les objectifs d’analyse ou de synthèse. MATLAB fournit des
fonctions pour ces conversions ainsi que pour la discrétisation des systèmes continus.
2.3.1 Conversion entre fonctions de transfert et représentation d’état
Fonction de transfert → représentation d’état :

[Date] 20
Représentation d’état → fonction de transfert :

[Date] 21
2.3.2 Discrétisation des systèmes continus
La fonction c2d permet de passer d’un système continu à un système discret, en spécifiant la
période d’échantillonnage et la méthode de conversion :
 Méthode ZOH (Zero-Order Hold) : obtention par échantillonnage direct.
 Méthode Tustin (approximation bilinéaire) : obtention par discrétisation via la
transformation de Tustin.
Exemple avec ZOH :

Exemple avec Tustin :

[Date] 22
2.4 Connexions de systèmes
Des systèmes plus complexes peuvent être construits à partir de sous-systèmes élémentaires.
MATLAB propose trois opérations principales :
1. Mise en série :

Exemple de systèmes élémentaires


G1 = tf([1],[1 2]); % G1(s) = 1 / (s + 2)
G2 = tf([2],[1 3]); % G2(s) = 2 / (s + 3)

2. Mise en parallèle :

3. Bouclage (feedback) :

[Date] 23
2.3.3 Analyse des systèmes dynamiques
MATLAB fournit également des fonctions dédiées pour l’étude des caractéristiques
des systèmes dynamiques.

Fonction Description

pole(G) Renvoie les pôles du système

zero(G) Renvoie les zéros du système

damp(G) Renvoie l’amortissement et la pulsation propre des pôles

dcgain(G) Renvoie le gain statique du système

pzmap(G) Affiche graphiquement les pôles et zéros dans le plan complexe

ctrb(sys) Renvoie la matrice de commandabilité pour la représentation d’état

Renvoie la matrice d’observabilité de la représentation d’état.


obsv(sys)

2.3.4 Réponses temporelles


MATLAB offre plusieurs fonctions pour simuler et tracer la réponse d’un système à
différentes entrées. Ces outils permettent d’analyser le comportement dynamique des
systèmes linéaires invariants (LTI).
2.3.5 Réponse indicielle et impulsionnelle
 step : simule la réponse indicielle (entrée échelon) d’un système.
 impulse : simule la réponse impulsionnelle (entrée impulsion).
 initial : calcule le régime libre d’un système de type ss pour des conditions initiales
spécifiées.
 Exemple : réponse indicielle

[Date] 24
 Un clic droit sur la figure MATLAB permet d’obtenir des informations sur les caractéristiques du
système simulé.

[Date] 25
4. Génération de signaux d’entrée arbitraires

MATLAB propose la fonction gensig pour générer automatiquement des signaux de test
standards :
 sin : signal sinusoïdal
 square : signal carré
 pulse : signal impulsionnel
 Syntaxe générale :
[u, t] = gensig(type, T, Tf, Ts)
où :
 type : type du signal ('sin', 'square', 'pulse')
 T : période du signal (en secondes)
 Tf : durée totale de la simulation
 Ts : pas d’échantillonnage
 u : vecteur du signal généré
 t : vecteur temps associé
 Exemple : signal sinusoidal

[Date] 26
 Exemple : signal carré

[Date] 27
 G = tf([1 1],[1 4 3/2]);
 [U,T] = gensig('square', 20, 70); % signal carré, période 20s, durée 70s
 lsim(G,U,T) ; % simulation du système avec ce signal

5. Simulation avec une entrée arbitraire

La fonction lsim permet de simuler la réponse d’un système LTI à une entrée arbitraire,
mesurée ou générée :

 Syntaxe générale :

lsim(sys, u, t) % simple simulation

[y, t, x] = lsim(sys, u, t, x0) % avec conditions initiales x0

où :

 sys : modèle du système (tf, ss, etc.)


 u : vecteur d’entrée ou matrice (même taille que t)
 t : vecteur temps
 x0 : conditions initiales (optionnel)
 y : sortie du système
 x : états internes du système

Utilités de gensig et lsim :

 Tester la réponse d’un système pour différents signaux d’excitation.


 Identifier un modèle à partir de données simulées.
 Valider des algorithmes de commande.

6.1 Lieux de transfert et analyse fréquentielle

MATLAB permet d’effectuer une analyse fréquentielle complète des systèmes LTI grâce à
plusieurs fonctions spécifiques :

 bode(G) : trace le diagramme de Bode (gain et phase)


 nyquist(G) : trace le diagramme de Nyquist
 nichols(G) : trace le diagramme de Nichols (ou Black-Nichols)

6.2 Utilisation des fonctions

Pour chaque fonction, il est possible de :

 Spécifier l’intervalle de pulsations considéré.


 Récupérer les vecteurs de valeurs en arguments de sortie, utiles pour un traitement
ultérieur.
 Obtenir des informations sur le tracé avec un clic droit sur la figure.

[Date] 28
 Exemple : diagramme de Bode

G = tf([1],[1 2 1]); % fonction de transfert


bode(G)
grid on

Exemple : diagramme de Nichols avec grille Black :

nichols(G)
grid on

 La fonction margin(G) est similaire à bode(G) mais affiche également les marges de
gain et de phase, très utiles pour évaluer la stabilité du système.

6. Simulink

Simulink® est un logiciel intégré à MATLAB, muni d’une interface graphique permettant
de modéliser, simuler et analyser des systèmes dynamiques via des schémas-blocs.

6.1 Création d’un modèle

Simulink peut être lancé depuis MATLAB :

 En cliquant sur l’icône Simulink dans la barre d’outils.


 Ou en tapant la commande :

Simulink

6.2 Interface et construction

 La fenêtre de Simulink s’ouvre avec un ensemble de bibliothèques prédéfinies.


 Chaque bloc (entrée, sortie, gain, intégrateur, etc.) est glissé-déposé pour construire le
schéma du système.
 Les paramètres de chaque bloc peuvent être configurés via un double-clic.
 Une fois le modèle construit, on peut lancer la simulation et visualiser les sorties
directement dans MATLAB.

Simulink est particulièrement pratique pour les systèmes complexes, multi-entrées et multi-
sorties, et permet de visualiser graphiquement les réponses temporelles et fréquentielles.

[Date] 29
Conclusion
Au cours de ce travail pratique, nous avons découvert les bases du logiciel MATLAB ainsi
que ses principales fonctionnalités pour la manipulation des matrices et la résolution de
problèmes numériques.
Nous avons également appliqué ces outils à l’étude des systèmes linéaires invariants en
automatique, notamment à travers la modélisation par fonctions de transfert et représentation
d’état, ainsi que l’analyse des réponses temporelles et fréquentielles.
Enfin, l’utilisation de Simulink nous a permis de mieux visualiser le comportement des
systèmes dynamiques à travers des schémas blocs. Ce TP nous a donc permis d’acquérir des
compétences essentielles pour l’analyse et la simulation des systèmes en génie électrique.

[Date] 30

Vous aimerez peut-être aussi