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

Guide Matlab

Ce guide MATLAB présente une introduction au langage de programmation MATLAB, en se concentrant sur ses fonctionnalités essentielles pour la manipulation, le traitement et la visualisation des données. Il couvre des sujets tels que les variables, les opérations matricielles, les fichiers MATLAB, et les commandes de traçage. Le document est destiné aux utilisateurs ayant peu ou pas d'expérience avec MATLAB.

Transféré par

arch.detective5
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues19 pages

Guide Matlab

Ce guide MATLAB présente une introduction au langage de programmation MATLAB, en se concentrant sur ses fonctionnalités essentielles pour la manipulation, le traitement et la visualisation des données. Il couvre des sujets tels que les variables, les opérations matricielles, les fichiers MATLAB, et les commandes de traçage. Le document est destiné aux utilisateurs ayant peu ou pas d'expérience avec MATLAB.

Transféré par

arch.detective5
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 PDF, TXT ou lisez en ligne sur Scribd

Guide MATLAB

Pr. Samira CHEBLI


3A-GIL
HESTIM
1
Table des Matières
1. Introduction 3
2. Obtenir de l’aide depuis MATLAB 3
3. Variables de MATLAB – Scalaires, Vecteurs et Matrices 3
3.1. Opérations sur les nombres complexes 4
3.2. Générer des vécteurs 4
3.3. Accédér aux éléments vectoriels 4
4. Opérations matricielles 5
4.1. Opérations arithmétiques sur la matrice 5
4.2. Opérations relationnelles 6
4.3. Opérations de contrôle de flux (logique) 6
4.4. Fonctions mathématiques 6
5. Fichiers MATLAB 7
5.1. M-Files 7
5.1.1. Scripts 7
5.1.2. Fonctions 8
5.2. Mat-Files 8
5.3. MATLAB Figures 9
6. Traçage 9
6.1. Commandes de traçage simples 10
6.2. Personnalisation des tracés 10
7. Commandes Signaux et Systèmes 10
7.1. Polynômes 10
7.2. Transformation de Laplace et Z 11
7.3. Réponse fréquentielle 12
7.4. Transformées de Fourier et filtrage 12
8. Exemple d’utilisation 12
8.1. Trouver le diagramme pôle-zéro, le diagramme de Bode, 12
la réponse indicielle à partir de la fonction système
8.1.1. Solution simple 13
8.1.2. Solution personnalisée 15
8.2. Réponse d'un système LTI à une entrée 18

2
1 introduction
MATLAB est un langage de programmation et un progiciel de visualisation de données
efficace dans de différents domaines. Ce document est une brève introduction à MATLAB
qui se concentre sur les fonctionnalités qui revêtent une importance particulière dans la
manipulation, traitement et visualisation des données. On suppose que le lecteur a peu ou
pas d'expérience avec MATLAB.

2. Obtenir de l'aide depuis MATLAB


Si vous connaissez le nom d'une fonction que vous souhaitez apprendre à utiliser, utilisez la
commande 'help':

>> help function_name

Cette commande affiche une description de la fonction et comprend généralement également


une liste de fonctions associées. Si vous ne vous souvenez plus du nom de la fonction, utilisez la
commande 'lookfor' et le nom d'un mot-clé associé à la fonction:

>> look for

Cette commande affichera une liste de fonctions qui incluent le mot-clé dans leurs
descriptions.
D'autres commandes d'aide que vous pourriez trouver utiles sont 'info', 'what' et
'which'. Les descriptions de ces commandes peuvent être trouvées en utilisant la
commande help. MATLAB contient également une variété de démos qui peuvent être avec la
commande ‘demo’.

3. Variables MATLAB - Scalaires, vecteurs et matrices


MATLAB stocke les variables sous forme de matrices qui sont M × N, où M est le nombre de
lignes et N le nombre de colonnes. Une matrice 1 × 1 est un scalaire, une matrice 1 × N est
un vecteur ligne, et une matrice M ×1 est un vecteur colonne. Tous les éléments d'une
matrice peuvent être des nombres réels ou complexes; √−1 peut être écrit comme soit 'i'
ou 'j' à condition que ces lettres ne soient pas redéfinies par l’utilisateur.
Une matrice est écrite avec un crochet '[]' avec des espaces séparant les colonnes
adjacentes et des points-virgules séparant les lignes adjacentes. Par exemple, considérons les
affectations suivantes de la variable x :

3
Scalaire réel >> x = 5
Scalaire complexe >> x = 5+10j (ou >> x =5 +10i)
Vecteur ligne >> x = [1 2 3] (ou x = [1, 2, 3])
Vecteur Colonne >> x = [1; 2; 3]
Matrice 3 × 3 >> x = [1 2 3; 4 5 6; 7 8 9]

N.B :
Les éléments complexes d'une matrice ne doivent pas être tapés avec des espaces, c'est à
dire, ‘-1+2j’ est correct comme un élément de matrice, alors que '-1 + 2j' ne l'est pas.
De plus, -1 + 2j est interprété correctement alors que ‘-1 + j2’ ne l'est pas (MATLAB
interprète ‘j2’ comme le nom d'une variable. Vous pouvez toujours écrire ‘-1+j*2’.

3.1. Opérations sur les nombres complexes


Certaines opérations importantes sur les nombres complexes sont illustrées ci-dessous :

Scalaire complexe >> x = 3+4j


Partie réelle de X >> real (x) ⇒ 3
Partie imaginaire de X >> imag (x) ⇒ 4
Module de X >> abs (x) ⇒ 5
Argument de X >> angle (x) ⇒ 0,9273
Conjugué complexe de X >> conj (x) ⇒ 3 - 4i

3.2. Générer des vecteurs


Les vecteurs peuvent être générés à l'aide de la commande ' :'. Par exemple, pour générer
un vecteur x qui prend les valeurs de 0 à 10 par incréments de 0,5, tapez ce qui suit ; ce qui
va générer une matrice 1x21 :

>> x = [0: 0,5: 10];

D'autres façons de générer des vecteurs incluent les commandes: 'linspace' qui génère
un vecteur en spécifiant le premier et le dernier nombre et le nombre d'entrées également
espacées entre le premier et le dernier nombre, et 'l ogspace' qui est le même sauf que les
entrées sont espacées logarithmiquement entre la première et la dernière entrée.

3.3. Accéder aux éléments vectoriels


Les éléments d'une matrice sont accessibles en spécifiant la ligne et la colonne. Par
exemple, dans la matrice spécifiée par A = [1 2 3; 4 5 6; 7 8 9], l'élément de la
première ligne et de la troisième colonne est accessible en écrivant

>> x = A(1,3) qui donne 3

4
La deuxième ligne entière est accessible avec

>> y = A(2, :) ce qui donne [4 5 6]

où le ‘:’ signifie ici «prendre toutes les entrées de la colonne». Une sous-matrice de A
composée des lignes 1 et 2 et des trois colonnes est spécifiée par

>> z = A(1: 2,1: 3) qui donne [1 2 3; 4 5 6]

4. Opérations matricielles
MATLAB contient un certain nombre d'opérations arithmétiques, relationnelles et logiques
sur les matrices.

4.1. Opérations arithmétiques sur la matrice


Les opérations arithmétiques de base sur les matrices (et bien sûr les scalaires qui sont des cas
particuliers de matrices) sont :

+ ajout
- soustraction
* multiplication
/ division droite
\ division gauche
^ exponentiation (puissance)
' conjuguer transposer

Un message d'erreur s'affiche si les tailles des matrices sont incompatibles pour
l'opération. La division est définie comme suit: La solution de 𝐴 ∗ 𝑥 = 𝑏 est x = A\b et la
solution de 𝑥 ∗ 𝐴 = 𝑏 est x = b/A à condition que 𝐴 soit inversible et que toutes les
matrices soient compatibles.
L'addition et la soustraction impliquent des opérations arithmétiques élément par
élément; la multiplication et la division matricielles ne le font pas. Cependant, MATLAB
fournit également des opérations élément par élément en ajoutant un '.' devant
l'opérateur comme suit:

.* multiplication
./ division droite
.\ division gauche
.^ exponentiation (puissance)
.’ transposée (non conjugué)
La différence entre la multiplication matricielle et la multiplication élément par élément

5
est illustrée dans l'exemple suivant
>>A = [1 2; 3 4]
A =
1 2
3 4

>>B =A*A
B =
7 10
15 22

>>C = A.*A
C =
1 4
9 16

4.2. Opérations relationnelles


Les opérations relationnelles suivantes sont définies:

< inférieur à
<= inférieur ou égal à
> supérieur à
>= supérieur ou égal à
== égal à
~= différent de

Ce sont élément-être-élément opérations qui renvoient une matrice de uns (1 = vrai) et de


zéros (0 = faux).
Faites attention à la distinction entre ‘=’ et ‘==’.

4.3. Opérations de contrôle de flux (logique)


MATLAB contient l'ensemble habituel de structures de contrôle de flux (logique), par
exemple, for, while et if, plus les opérateurs logiques, par exemple, & (et), | (ou) et ~
(pas).

4.4. Fonctions mathématiques


MATLAB est livré avec un grand nombre de fonctions intégrées qui fonctionnent sur des
matrices élément par élément. Ceux-ci inclus:

sin sinus
cos cosinus
tan tangente
asin inverse de sinus
6
acos inverse de cosinus
atan inverse de tangente
exp exponentiel
log logarithme naturel
log10 logarithme décimal
sqrt racine carrée
abs valeur absolue
sign signum : signe de nombre réel

5. Fichiers MATLAB
Il existe plusieurs types de fichiers MATLAB, y compris des fichiers contenant des
scripts de commandes MATLAB, des fichiers qui définissent des fonctions MATLAB
créées par l'utilisateur qui agissent comme des fonctions MATLAB intégrées, des
fichiers contenant des résultats numériques ou des tracés.

5.1. M-Files
MATLAB est un langage d'interprétation, c'est-à-dire que les commandes saisies à
l'invite MATLAB sont interprétées dans le cadre de la session MATLAB en cours.
Cependant, il est fastidieux de taper de longues séquences de commandes chaque fois
que MATLAB est utilisé pour effectuer une tâche. Il existe deux moyens d'étendre la
puissance de MATLAB: les scripts et les fonctions. Les deux utilisent des m-files
(nommés parce qu'ils ont une extension .m). L'avantage des m-files est que les
commandes sont sauvegardées et peuvent être facilement modifiées sans retaper la
liste entière des commandes.

5.1.1. Scripts
Les fichiers de script de MATLAB sont des séquences de commandes saisies avec un éditeur et
enregistrées dans un m-file.

Dans l'éditeur de Matlab, saisissez les commandes MATLAB dans l'ordre d'exécution. Les
instructions sont exécutées en tapant le nom du fichier dans la fenêtre de commande à
l'invite MATLAB, c'est-à-dire que le m-file nomfichier.m est exécuté en tapant

>> nomfichier

L'exécution du m-file équivaut à taper la liste entière des commandes dans la fenêtre de
commande à l'invite MATLAB. Toutes les variables utilisées dans le m-file sont placées dans
l'espace de travail de MATLAB. L'espace de travail, vide au lancement de MATLAB, contient
toutes les variables définies dans la session MATLAB.
7
5.1.2. Fonctions
Un deuxième type de m-file est un fichier de fonction qui est généré avec un éditeur
exactement comme le fichier de script mais qui a la forme générale suivante:

function [sortie 1, sortie 2] = nomfonction (entrée1, entrée2)


%
% [sortie 1, sortie 2] = nomfonction (entrée1, entrée2) : Nom de la fonction
%
% Quelques commentaires qui expliquent ce que la fonction fait ici.
%

Commande MATLAB 1;
Commande MATLAB 2;
Commande MATLAB 3;

Le nom du m-file pour cette fonction est nomfonction.m et il est appelé depuis la ligne de
commande MATLAB ou depuis un autre m-file par la commande suivante

>> [sortie1, sortie2] = nomfonction(entrée1, entrée2)

Notez que tout texte après le '%' est ignoré par MATLAB et peut être utilisé pour les
commentaires. Le typage de sortie est supprimé en terminant une ligne par ';', une
ligne peut être étendue en tapant '...' à la fin de la ligne et en poursuivant les
instructions jusqu'à la ligne suivante.

5.2. Mat-Files
Les fichiers matrices (nommés parce qu'ils ont une extension .mat et sont donc aussi
appelés fichiers matriciels) sont des fichiers binaires compressés utilisés pour stocker des
résultats numériques. Ces fichiers peuvent être utilisés pour sauvegarder les résultats qui
ont été générés par une séquence d'instructions MATLAB. Par exemple, pour enregistrer
les valeurs des deux variables, variable1 et variable2 dans le fichier nommé
[Link], saisissez

>> save [Link] variable1 variable2

L'enregistrement de toutes les variables actuelles dans ce fichier est réalisé en tapant

>> save [Link]

Un mat-file peut être chargé dans MATLAB ultérieurement en tapant

>> load nomfichier (ou load [Link])

8
5.3. MATLAB Figures
Les tracés générés dans MATLAB peuvent être enregistrés dans un fichier MATLAB Figure
afin de pouvoir être imprimés ultérieurement.

6. Traçage
MATLAB contient de nombreuses commandes pour créer des tracés à deux et trois
dimensions. La plus basique de ces commandes est 'plot' qui peut avoir plusieurs
arguments optionnels. Un exemple simple de cette commande est de tracer une fonction
du temps.

t = linspace(0, 8, 401); %Define a vector of times from ...


0 to 8 s with 401 points
x = t.*exp(-t).*cos(2*pi*4*t); %Define a vector of x values
plot(t,x); %Plot x vs t
xlabel('Time (s)'); %Label time axis
ylabel('Amplitude'); %Label amplitude axis

Ce script donne le tracé illustré à la figure 1.

Figure 1: Exemple du tracé de la fonction


𝑥 (𝑡) = 𝑡𝑒 − 𝑡𝑐𝑜𝑠(2𝜋4𝑡).

9
6.1. Commandes de traçage simples
Les commandes de traçage 2D simples incluent

plot tracer en coordonnées linéaires sous forme d’une fonction continue


stem tracer en coordonnées linéaires sous forme d'échantillons discrets
loglog axes logarithmique x et y
semilogx Axe linéaire y et axe logarithmique x
semilogy Axe linéaire x et axe logarithmique y
barbar graphique à barres
errorbar graphique à barres d'erreur
hist Histogramme
polar Coordonnées polaires

6.2. Personnalisation des tracés


Il existe de nombreuses commandes utilisées pour personnaliser les tracés par des annotations,
des titres, des étiquettes d'axes, etc.
Certaines des commandes les plus fréquemment utilisées sont

xlabel Étiquette de l’axe x


ylabel Étiquette de l’axe y
titre Mettre un titre sur le tracé
grid Ajouter une grille au tracé
gtext Permettre le positionnement du texte avec la souris
text Permettre de placer du texte aux coordonnées spéci fi ées du tracé
axis Permettre de changer les axes x et y
figure Créer une figure pour le traçage
figure(n) Définir la figure numéro (n) comme la figure courante
hold on Permettre plusieurs tracés à superposer sur les mêmes axes
hold off Relâcher la suspension sur le tracé courant
close(n) Fermer la figure numéro n
subplot(a,b,c) Créer une matrice 𝑎 × 𝑏 de tracés avec c la figure courante
orient Spécifier l’orientation d'une figure

7. Commandes Signaux et des Systèmes


Les commandes suivantes sont organisées par thèmes dans les signaux et les systèmes. Chacune
de ces commandes à un certain nombre d'options qui étendent son utilité.

7.1. Polynômes
Les polynômes apparaissent fréquemment dans la théorie des systèmes. MATLAB représente
les polynômes sous forme de vecteurs lignes de coefficients polynomiaux.
Par exemple, le polynôme 𝑠2 + 4𝑠 − 5 est représenté en MATLAB par le polynôme :
10
>> p = [1 4 -5].

Voici une liste des commandes les plus importantes pour manipuler les polynômes :

roots(p) Exprimer les racines du polynôme p en tant que vecteur colonne


polyval(p,x) Évaluer le polynôme p aux valeurs contenues dans le vecteur x
conv(p1,p2) Calculer le produit des polynômes p1 et p2
deconv(p1,p2) Calculer le quotient de p1 divisé par p2
poly2str(p,'s') Afficher le polynôme en équation en s
poly(r) Calculer le polynôme en donnant un vecteur colonne r de racines

7.2. Transformations de Laplace et Z


Les transformées de Laplace sont un outil important pour l'analyse des systèmes
dynamiques en temps continu, et les transformées en Z sont un outil important pour
l'analyse des systèmes dynamiques en temps discrets. Les commandes importantes pour
manipuler ces transformations sont incluses dans la liste suivante.

residue(n,d) Calculer l'expansion de la fraction partielle du rapport des polynômes


𝑛(𝑠)/𝑑(𝑠)
lsim(SYS,u) Calculer / tracer la réponse temporelle de SYS au vecteur d'entrée u
step(SYS) Calculer / tracer la réponse échelonnée de SYS
impulse(SYS) Calculer / tracer la réponse impulsionnelle de SYS
pzmap(n,d) Calculer / tracer un diagramme pôle-zéro de SYS
residuez(n,d) Calculer l'expansion de la fraction partielle du rapport des polynômes
𝑛(𝑧)/𝑑(𝑧) écrit comme des fonctions de 𝑧−1
rlocus(SYS) Calculer / tracer le locus racine d'un système dont le système en
boucle ouverte est spécifié par SYS
dlsim(n,d,u) Calculer la réponse temporelle au vecteur d'entrée u du système
avec la fonction système 𝑛(𝑧)/𝑑 (𝑧)
dstep(n,d) Calculer la réponse échelonnée du système avec la fonction système
𝑛(𝑧)/𝑑(𝑧)
dimpulse(n,d) Calculer la réponse impulsionnelle du système avec fonction système
𝑛(𝑧)/𝑑(𝑧)
zplane(z,p) Tracez un diagramme pôle-zéro à partir de vecteurs de pôles et de zéros,
p et z

Un certain nombre de ces commandes fonctionnent avec plusieurs spécifications du système


LTI. Une telle spécification est en termes de fonction de transfert pour laquelle ‘SYS’ est
remplacé par ‘TF (num, den)’ où ‘num’ et ‘den’ sont les vecteurs des coefficients des
polynômes numérateur et dénominateur de la fonction système.

11
7.3. Réponse fréquentielle
Il existe plusieurs commandes utiles pour calculer et tracer la réponse en fréquence étant
donné la fonction du système pour les systèmes à temps continu ou discret sous forme de
rapports de polynômes.

bode(n,d) Tracer le diagramme de Bode pour un système à temps continu dont


la fonction système est le rapport des polynômes 𝑛(𝑠)/𝑑(𝑠)
freqs(n,d) Calculer la réponse en fréquence pour un système à temps continu avec
fonction système 𝑛(𝑠)/𝑑(𝑠)
freqz(n,d) Calculer la réponse en fréquence pour un système à temps discret avec
fonction système 𝑛(𝑧)/𝑑(𝑧)

7.4. Transformées de Fourier et filtrage


Il existe une riche collection de commandes liées au filtrage. Quelques commandes de base
sont répertoriées ici.

fft(x) Calculer la transformée de Fourier discrète du vecteur x


ifft(x) Calculer la transformée de Fourier discrète inverse du vecteur x
filter(n,d,x) Filtre le vecteur x avec un filtre dont la fonction système est
𝑛(𝑧)/𝑑(𝑧), inclut un certain retard de sortie
filtfilt(n,d,x) Identique au filter sauf sans le délai de sortie

8. Exemples d'utilisation
8.1. Trouver le diagramme pôle-zéro, le diagramme de Bode,
la réponse indicielle à partir de la fonction système
Étant donné une fonction système
s
H(s) =
s2 + 2s + 101,
MATLAB nous permet d'obtenir des graphiques du diagramme pôle-zéro, du diagramme
de Bode et de la réponse indicielle.

12
8.1.1. Solution simple
Le moyen le plus simple d'obtenir les tracés requis est de laisser MATLAB choisir toutes les
échelles, étiquettes et annotations avec le script suivant.

num = [1 0]; % Définir le numérateur polynomial


den = [1 2 101]; % Définir le dénominateur polynomial

%% Diagramme pole-zéro
figure(1) % Créer la figure 1
pzmap(num,den); % Tracer le diagramme pole-zéro dans la figure 1

%% Diagramme de Bode
figure(2); % Créer la figure 2
bode(num,den); % Tracer le diagramme de Bode dans la figure 2

%% Réponse indicielle
figure(3); % Créer la figure 3
step(num,den); % Tracer la réponse indicielle dans la figure 3

Ce script mène aux graphiques individuels illustrés à la figure 2.

13
Figure 2: Les graphiques ont été générés par le script et chaque graphique a été enregistré sous
forme de fichier MATLAB Figure. Les trois fichiers ont été mis à l'échelle de 0,3 et inclus ci-
dessous :

14
8.1.2. Solution personnalisée
Il peut être souhaitable d'afficher les résultats avec plus de contrôle sur l'apparence du
graphique. Le script suivant trace les mêmes résultats mais montre comment ajouter des
étiquettes, ajouter des titres, définir des échelles d'axes, etc.

%% Définir des variables


t = linspace(0,5,201); % Définir un vecteur de temps avec 201 points
équidistants de 0 à 5s.
w = Logspace(-1,3201); % Définir un vecteur de fréquence radian avec 201
espacés logarithmiquement points de 10^-1 à 10^3 rad/s
num = [1 0]; % Définir le polynôme numérateur
den = [1 2 101]; % Définir le polynôme dénominateur
[poles, zeros] = pzmap(num, den); % Définir les pôles comme vecteur du les
pôles et les zéros sont un vecteur de zéros de la
fonction système
[mag, angle] = bode(num, den, w); % Définir mag et angle pour être le
amplitude et l'argument de la réponse en fréquence à w
[y, x] = step(num, den, t); % Définir y être la réponse échelonnée de la
fonction système en t.

%% Diagramme Pole-zero
figure(1) % Créer Figure 1
subplot (2,2,1) % Définir la figure 1 est une matrice 2X2 de tracés et
le tracé suivant est à position (1,1)
plot (real(poles), imag(poles), 'x', real(zeros), imag(zeros), 'o'); % Tracer
le diagramme pôle-zéro avec x pour les pôles et o pour
les zéros
title ('Diagramme Pole-Zéro'); % Ajouter un titre au tracé
xlabel ('réel'); % Etiquette de l'axe x
ylabel ('Imaginaire'); % Etiquette de l'axe y
axis ([- 1,1 0,1 -12 12]); % Définir les axes pour x et y
grid; % Ajouter une grille

%% Amplitude du diagramme de Bode


subplot(2, 2, 2); % Suivant le tracé se positionne (1,2)
semilogx (w, 20*log10(mag)); % Tracer l'amplitude logarithmiquement en w et en
décibels
title 'Amplitude du Diagramme de Bode';
ylabel ('Amplitude (dB)');
xlabel ('Fréquence (rad/s)');
axis ([0,1 1000 -60 0]);
grid;
subplot (2, 2, 4); % Suivant le tracé se met en position (2,2)
semilogx (w, angle); % Tracer l'angle logarithmiquement en w et
linéairement en angle
title ('Angle du diagramme de Bode');
ylabel ('Angle (deg)');
xlabel ('Fréquence (rad/s)');
axe ([0,1 1000 -90 90]);
grid;

15
%% Réponse Indicielle
% Le tracé suivant va en position (2,1)
subplot (2, 2, 3);
plot(t, y); % Tracer la réponse indicielle linéairement dans en t et y
title('Réponse indicielle');
xlabel ('Temps(s)');
ylabel ('Amplitude');
grid;

16
Diagramme Pole-Zéro Diagramme de Bode de gain
0
10

Imaginaire
-20

Gain (dB)
0

-40
-5

-10
-60 0 2
-1 -0,5 0 10 10
Réel Fréquence (rad / s)

Réponse indicielle Diagramme de Bode


de phase
0,1

0,05 50

Phase (deg)
Amplitude

0 0

-0,05 -50

-0,1
0 2
0 2 4 6 10 10

Temps (s) Fréquence (rad / s)

Figure 3: Ce tracé combiné a été généré par le script et enregistré en tant que fichier MATLAB
Figure qui a été mis à l'échelle de 0,6 et inclus ci-dessus.

Ce script mène au tracé illustré à la figure 3.

17
1

0,8

0,6

0,4

0,2
Figure 4: La fonction de temps d'entrée
Amplitude

0
est un cosinusoïde qui commence à t = 0.
-0,2
La sortie d'un système LTI avec la fonction
-0,4
système 𝐻(𝑠) = 5/(𝑠² + 2𝑠 + 101) est
-0,6
représentée en rouge.
-0,8

-1
0 1 2 3 4 5 6 7 8 9 10

Temps (s)

8.2. Réponse d'un système LTI à une entrée


La commande MATLAB lsim facilite le calcul de la réponse d'un système LTI avec la
fonction système 𝐻(𝑠) à une entrée 𝑥(𝑡). Supposons

et nous souhaitons trouver la réponse à l'entrée 𝑥(𝑡) = 𝑐𝑜𝑠(2𝜋𝑡)𝑢(𝑡). Le script suivant


calcule et trace la réponse.

figure (1);
num = [5 0]; % Définir le polynôme numérateur
den = [1 2 101]; % Définir le polynôme dénominateur
t = linspace(0, 10, 401); % Définir un vecteur de temps
u = cos(2 * pi * t); % Calculer la fonction d'entrée cosinus
[y, x] =lsim(num, den, u, t); % Calcule la réponse à l'entrée u aux instants
tplot(t, y, 'r', t, u, 'b'); % Tracez la sortie en rouge et l'entrée en bleu
xlabel('Temps(s)');
ylabel('Amplitude');

Le graphique est illustré à la figure 4.

18

Vous aimerez peut-être aussi