Initiation à MATLAB
Définition :
MATLAB (pour MATrix LABoratory) est un langage informatique de haut niveau dédié au calcul
scientifique.
MATLAB est organisé de manière modulaire et comprend :
- Un noyau MATLAB qui regroupe le potentiel de calcul et les outils graphiques et une dizaines
de logiciels utilitaires.
- Une boite à outils particulière : SIMULINK, qui est un logiciel de description, sous forme de
schémas-blocs, des systèmes dynamiques (analogiques et échantillonnés).
- De nombreuses boites à outils (toolboxes) qui recouvrent, chacune, un domaine particulier du
champ scientifique. Ces boites à outils offrent les meilleurs algorithmes du moment. Ce
dispositif permet d’utiliser le logiciel dans des domaines divers (finances, statistiques,…).
Les fenêtres :
1- La fenêtre de commande (command window)
Cette fenêtre apparaît à l’ouverture de MATLAB. Tout mot ou toute phrase tapé à la suite de
l’invite (le signe >> appelé aussi prompt) dans la fenêtre de commande et terminé par la touche
entrée est interprété comme une commande MATLAB. Si la syntaxe est valide, la commande
sera immédiatement exécutée, sinon un message d’erreur est délivré en rouge.
Le point-virgule qui termine une commande a pour effet d’empêcher l’affichage du résultat du
calcul.
Une instruction déjà tapée et exécutée n’est plus modifiable. Toutefois le rappel désiré peut
être obtenu en pressant la flèche verticale vers le haut.
2- Current directory
Cette fenêtre indique le répertoire courant sélectionné.
3- Workspace
C’est l’espace de travail dans lequel sont stockées les variables.
4- Command history
Cette fenêtre enregistre les commandes déjà tapées dans la fenêtre de commande.
Les variables dans MATLAB
Pour désigner une variable on utilise un identificateur, c’est-à-dire un nom dont la longueur est, au
plus de 31 caractères contigus y compris les chiffres et le symbole « _ ». Ce nom doit toujours
commencer par une lettre. Ainsi 4ake est interdit alors que ake4 est licite.
MATLAB fait la différence entre les majuscules et les minuscules : VAR est différent de var.
L’affectation d’une variable se fait par le signe « = ». Elle peut se faire directement ou par
l’intermédiaire d’une expression à évaluer.
Exemple :
>> a=6
>> a=15*sqrt(7)/2
MATLAB accepte également l’affectation récursive, c’est-à-dire l’affectation dans laquelle la variable,
préalablement initialisée, figure dans l’expression à évaluer.
Exemple :
>> 𝐴 = 6 ;
>> 𝐴 = 𝐴 ∗ 3 + 2 ; % elle affecte la valeur 20 à A puisque A contenait la valeur 6 avant l’opération
d’affectation récursive.
>> 𝐶 = 𝐶 + 5 provoque un avertissement (warning) si C n’a pas de valeur affectée avant l’opération
d’affectation récursive.
Les variables réservées
Dans MATLAB plusieurs variables sont réservées et leur valeur pré-affectées. Ce sont :
ans (answer) : variable qui recueille le résultat. Son contenu change à chaque affectation.
Pi : contient le nombre 𝜋. Si, volontairement ou par erreur, on affecte une autre valeur à pi, c’est
cette nouvelle valeur qui sera véhiculée dans toute la session de travail. Pour retrouver la bonne
valeur, il faut supprimer « pi » de l’espace de travail en tapant « clear pi ».
eps (epsillon) : contient le nombre 2−52 .
realmin et realmax contiennent respectivement le plus petit et le plus grand réel Disponible dans
MATLAB.
Inf (Infini) : représente 1/0.
NaN (Not a Number) : représente 0/0.
i et j représentent l’un et l’autre l’imaginaire pur.
Les variables tableau
MATLAB a été créé pour manipuler des matrices, donc des tableaux de nombres. Les éléments d’un
tableau doivent tous être de même type. Les constantes ne sont en fait que des matrices 1x1 (une
ligne et une colonne). Un tableau est créé par énumération ligne par ligne ses éléments entre
crochet. Les lignes sont séparées entre elles par un point-virgule (;) ou par action sur la touche
entrée. Les éléments d’une ligne sont séparés par un espace ou une virgule.
Exemple :
𝑀1 = [1 2; 3 4; 5 6]
𝑝𝑖
𝑀2 = [1,2,5 ∗ sin ( 4 ) ; 3 4 5]
𝑀3 = [1 2 ; 3 4 5] %𝑠𝑢𝑠𝑐𝑖𝑡𝑒 𝑢𝑛 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 𝑑′𝑒𝑟𝑟𝑒𝑢𝑟
𝑀4 = 0.25 ∗ 𝑀1 % 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛 𝑝𝑎𝑟 𝑢𝑛 𝑠𝑐𝑎𝑙𝑎𝑖𝑟𝑒
𝑀5 = [𝑀1 𝑀2 ] % 𝑐𝑜𝑛𝑐𝑎𝑡é𝑛𝑎𝑡𝑖𝑜𝑛. 𝐼𝑙 𝑦 𝑎 𝑢𝑛 𝑒𝑠𝑝𝑎𝑐𝑒 𝑒𝑛𝑡𝑟𝑒 𝑀1 𝑒𝑡𝑀2
𝑀6 = [𝑀1 ; 𝑀2 ] % 𝑐𝑜𝑛𝑐𝑎𝑡é𝑛𝑎𝑡𝑖𝑜𝑛 𝑒𝑛 𝑐𝑜𝑙𝑜𝑛𝑛𝑒
𝑀3 = 𝑀1′ % 𝑙 ′ 𝑎𝑝𝑜𝑠𝑡𝑟𝑜𝑝ℎ𝑒𝑡𝑟𝑎𝑛𝑠𝑓𝑜𝑟𝑚𝑒𝑀1 (𝑖𝑛𝑡𝑒𝑟𝑣𝑒𝑟𝑡𝑖𝑡 𝑙𝑖𝑔𝑛𝑒 𝑒𝑡 𝑐𝑜𝑙𝑜𝑛𝑛𝑒)
La puissance de MATLAB tient au fait que les fonctions opèrent directement sur un tableau en
produisant un résultat de mêmes dimensions :
𝑀3 = 3 ∗ 𝑠𝑞𝑟𝑡(𝑀1 )
𝑀3 = 2 ∗ sin(𝑝𝑖) ∗ 𝑀1
L’extraction d’un sous-tableau
Il est parfois nécessaire d’extraire certains éléments d’un tableau M. On y parvient à l’aide de la
commande 𝑀(𝑙𝑖𝑔 , 𝑐𝑜𝑙) dans laquelle lig représente l’indice de la ou des lignes à extraire et col celui
de la ou des colonnes. Les variables lig et col, séparés par une virgule, peuvent être des tableaux. Le
symbole : permet de désigner « toutes » les lignes ou « toutes » les colonnes.
𝐴 = 𝑟𝑎𝑛𝑑(3,5) % 𝑐𝑟é𝑒 𝑢𝑛 𝑡𝑎𝑏𝑙𝑒𝑎𝑢 3𝑥5 𝑑𝑒 𝑛𝑜𝑚𝑏𝑟𝑒𝑠 𝑎𝑙é𝑎𝑡𝑜𝑖𝑟𝑒𝑠
𝑇 = 𝑀1 (1 , 3)
𝑀3 = 𝑀1 (: , 3)
𝑀3 = 𝑀1 ([1 2], 5)
Les vecteurs lignes ou colonnes
Un tableau réduit à une ligne ou à une colonne porte le nom de vecteur. On peut passer d’un vecteur
ligne à un vecteur colonne par l’opération de transposition réalisée par le symbole « ‘ ».
𝑣𝑒𝑐𝑡𝑒𝑢𝑟𝑙𝑖𝑔 = [0 ; 0.25 ; 0.7]
𝑉𝑒𝑐𝑡𝑒𝑢𝑟_𝑐𝑜𝑙𝑜𝑛𝑒 = [0 ; 0.25 ; 0.7]
𝐴𝑢𝑡𝑟𝑒 = 𝑣𝑒𝑐𝑡_𝑙𝑖𝑔′
𝑐𝑜𝑙𝑜𝑛𝑛𝑒 = [1 3 2 𝑝𝑖]′
Il est possible de créer rapidement des vecteurs, notamment pour définir les points d’abscisse utilisés
par une fonction. On emploie le traitement suivant :
𝑣𝑒𝑐𝑡𝑒𝑢𝑟 = [1𝑒𝑟 é𝑙é𝑚𝑒𝑛𝑡: 𝑖𝑛𝑐𝑟é𝑚𝑒𝑛𝑡: 𝑑𝑒𝑟𝑛𝑖𝑒𝑟 é𝑙é𝑚𝑒𝑛𝑡]
Les valeurs sont alors également réparties. Noter que l’incrément peut être négatif, et que s’il est égal
à 1 on peut l’omettre.
Par ailleurs MATLAB offre les deux fonctions linspace et logspace qui créent des vecteurs ligne :
𝑙𝑖𝑛𝑠𝑝𝑎𝑐𝑒(𝐸1 , 𝐸𝑛 , 𝑛) % crée un vecteur de n éléments régulièrement espacés, le premier étant 𝐸1 et le
% dernier 𝐸𝑛 .
𝑙𝑜𝑔𝑠𝑝𝑎𝑐𝑒(𝑒𝑥𝑝1, 𝑒𝑥𝑝2, 𝑛) % 𝑐𝑟é𝑒 𝑢𝑛 𝑣𝑒𝑐𝑡𝑒𝑢𝑟 𝑙𝑖𝑔𝑛𝑒 𝑑𝑒 𝑛 é𝑙é𝑚𝑒𝑛𝑡𝑠 𝑒𝑠𝑝𝑎𝑐é𝑠 𝑑𝑒 𝑚𝑎𝑛𝑖è𝑟𝑒 𝑙𝑜𝑔𝑎𝑟𝑖𝑡ℎ𝑚𝑖𝑞𝑢𝑒.
% 𝐿𝑎 𝑙𝑖𝑠𝑡𝑒 𝑐𝑜𝑚𝑚𝑒𝑛𝑐𝑒 à 10𝑒𝑥𝑝1 𝑒𝑡 𝑠𝑒 𝑡𝑒𝑟𝑚𝑖𝑛𝑒 à 10𝑒𝑥𝑝2 .
La représentation d’un polynôme
Dans MATLAB, un polynôme P(x) de degré n est représenté sous la forme codée d’un vecteur ligne P
de n+1 éléments. Ceux-ci sont les coefficients des puissances de x ordonnées par valeurs décroissantes.
Exemple :
𝑝(𝑥) = 5𝑥 4 + 4𝑥 3 − 𝑥 + 0.7
𝑃 = [5 4 0 − 1 0. 7 ]
Les puissances absentes sont représentées par le terme 0.
𝑛𝑢𝑚(𝑥)
Les fractions rationnelles sont des quotients de polynômes 𝑑𝑒𝑛(𝑥)
La plupart des fonctions fonct() qui opèrent sur des fractions rationnelles sont de la forme
fonct(num,den).
Opération sur les polynômes
Roots() : renvoie dans un vecteur colonne r, les racines du polynômes P(x) représenté par le vecteur
ligne P
poly(r) : reconstitue un polynôme à partir de ses racines r
residue() : renvoie dans un tableau [A,p,entier] les éléments suivants :
- Le vecteur colonne A des numérateurs des fractions élémentaires ;
- Le vecteur colonne p des pôles des fractions élémentaires ;
- La partie entière du développement dans le vecteur ligne entier.
Conv(p1,p2) : calcule les coefficients du produit de deux polynômes qui sont des vecteurs ligne de
même longueur.
Polyval(P,x0) : permet de calculer au point x0, la valeur du polynôme P(x) représenté par le vecteur
ligne P
Polyder() : dérivation d’un polynôme
Boîtes à outils pour l’Automatique (control system toolbox)
Cette toolbox complète MATLAB dans le domaine de l’automatique en adjoignant au noyau MATLAB
une collection de fonctions spécialisées.
Définition d’un système linéaire
Par fonction de transfert
Toute représentation d’un système linéaire à temps invariant par fonction de transfert
(continu ou non, monovariable ou non) se fait à partir de la fonction tf.m (pour Transfert
Function). Pour les systèmes monovariables, la syntaxe est :
𝑠𝑦𝑠 = 𝑡𝑓(𝑛𝑢𝑚, 𝑑𝑒𝑛, 𝑇)
Où num et den sont les polynômes numérateur et dénominateur de la fonction de transfert. T
est la période d’échantillonnage (en secondes). Pour un système continu, soit on omet ce
paramètre, soit on prend par convention T=0.
1
𝐹(𝑝) = 𝑝+1
𝑛𝑢𝑚 = 1; 𝑑𝑒𝑛 = [1 1]; 𝐹 = 𝑡𝑓(𝑛𝑢𝑚, 𝑑𝑒𝑛)
𝑝+2
𝐹(𝑝) =
𝑝(𝑝+5)
𝑛𝑢𝑚 = [1 2]; 𝑑𝑒𝑛 = [1 5 0]; 𝐹 = 𝑡𝑓(𝑛𝑢𝑚, 𝑑𝑒𝑛)
𝑝+2
𝐹(𝑝) = 3 𝑝2 +2𝑝+4
𝑛𝑢𝑚 = 3 ∗ [1 2]; 𝑑𝑒𝑛 = [1 2 4]; 𝐹 = 𝑡𝑓(𝑛𝑢𝑚, 𝑑𝑒𝑛)
𝑧−0.6
𝐹(𝑧) = 1.2𝑋
𝑧 2 −0.56𝑧+0.4
𝑛𝑢𝑚 = 1.2 ∗ [1 − 0.6]; 𝑑𝑒𝑛 = [1 − 0.56 0.4]; 𝐹 = 𝑡𝑓(𝑛𝑢𝑚, 𝑑𝑒𝑛, 𝑇)
A partir de ses pôles et zéros
Toute représentation d’un système linéaire à temps invariant à partir de ses pôles et zéros
(continu ou non, monovariable ou non) se fait à partir de la fonction zpk.m (pour zeros, poles
and gain K). Pour les systèmes monovariables :
𝑠𝑦𝑠 = 𝑧𝑝𝑘(𝑧𝑒𝑟, 𝑝𝑜𝑙, 𝑔𝑎𝑖𝑛, 𝑇)
1
𝐹(𝑝) = 𝑝+1
𝑧𝑒𝑟 = [] ; 𝑝𝑜𝑙 = [−1]; 𝑔𝑎𝑖𝑛 = 1; 𝐹 = 𝑧𝑝𝑘(𝑧𝑒𝑟, 𝑝𝑜𝑙, 𝑔𝑎𝑖𝑛)
𝑝+2
𝐹(𝑝) =
𝑝(𝑝+5)
𝑧𝑒𝑟 = [−2] ; 𝑝𝑜𝑙 = [0 − 5] ; 𝑔𝑎𝑖𝑛 = 1 ; 𝐹 = 𝑧𝑝𝑘(𝑧𝑒𝑟, 𝑝𝑜𝑙, 𝑔𝑎𝑖𝑛)
𝑝+2
𝐹(𝑝) = 3
𝑝2 +2𝑝+4
𝑧𝑒𝑟 = [−2]; 𝑝𝑜𝑙 = 𝑟𝑜𝑜𝑡𝑠([1 2 4]); 𝑔𝑎𝑖𝑛 = 3; 𝐹 = 𝑧𝑝𝑘(𝑧𝑒𝑟, 𝑝𝑜𝑙, 𝑔𝑎𝑖𝑛)
𝑧−0.6
𝐹(𝑝) = 1.2𝑋 𝑧2 −0.56𝑧+0.4
𝑧𝑒𝑟 = [0.6] ; 𝑝𝑜𝑙 = 𝑟𝑜𝑜𝑡𝑠([1 − 0.56 0.4]) ; 𝑔𝑎𝑖𝑛 = 1.2 ; 𝑇 = 0.5 ;
𝐹 = 𝑧𝑝𝑘(𝑧𝑒𝑟, 𝑝𝑜𝑙, 𝑔𝑎𝑖𝑛, 𝑇)
Passage d’une représentation à l’autre
Les commandes tf, zpk, et ss (state space) permettent de représenter les systèmes linéaires à
temps invariant (SLTI) sous forme de fonction de transfert, à partir de la liste des pôles et zéros ou
dans l’espace d’état. Ces fonctions servent aussi à convertir un système déjà existant.
On passe de n’importe quelle représentation d’un SLTI à sa représentation d’état par :
𝒔𝒚𝒔_𝒆𝒕𝒂 = 𝒔𝒔(𝒔𝒚𝒔)
De même les commandes :
𝒔𝒚𝒔_𝒕𝒇 = 𝒕𝒇(𝒔𝒚𝒔)
𝒔𝒚𝒔_𝒛𝒑𝒌 = 𝒛𝒑𝒌(𝒔𝒚𝒔)
Transforment un système sys entré sous MATLAB à partir de n’importe quel moyen en
respectivement sa fonction de transfert (sys_tf), sa représentation en liste de pôles et zéros
(sys_zpk).
Passage continu discret et vice-versa
La commande c2d.m permet la discrétisation d’un SLTI objet.
Sys_dis=c2d(sys,T,méthode)
Où sys_dis un LTI objet à temps continu, T la période d’échantillonnage à laquelle on veut
discrétiser sys et méthode est une chaine de caractère indiquant la méthode utilisée pour la
discrétisation (avec bloquer d’ordre zéro : zoh ou d’ordre 1 : foh ou par transformation
bilinéaire : tustin ou prewarp ou par correspondance des pôles : matched). Le résultat est un LTI
objet à temps discret, sys_dis de même type que sys.
Remarque : si la méthode n’est pas spécifiée, c’est zoh (discrétisation du processus avec un
bloqueur d’ordre zéro sur chaque entrée) qui est utilisé.
Equivalence continu d’un système discret
La commande d2c.m permet l’obtention d’un équivalent continu d’un modèle à temps discret.
Elle s’applique. Elle s’applique aux LTI objet.
𝒔𝒚𝒔 = 𝒅𝟐𝒄(𝒔𝒚𝒔_𝒅𝒊𝒔, 𝒎é𝒕𝒉𝒐𝒅𝒆)
Par défaut, si méthode n’est pas spécifié, c’est zoh qui est utilisé.
Rééchantillonnage d’un système discret
La commande d2d.m permet de rééchantillonner à une nouvelle période d’échantillonnage un
modèle à temps discret.
𝑺𝒚𝒔_𝑻𝟐 = 𝒅𝟐𝒅(𝒔𝒚𝒔_𝑻𝟏, 𝑻𝟐)
Où sys_T1 est un LTI objet à temps discret échantillonné à la période T1 et T2 la nouvelle période
d’échantillonnage à laquelle on veut discrétiser sys_T1.
Approximation de Padé
Selon Padé, un retard pur 𝑑𝑒 𝜏 secondes est approximé à l’ordre n par la fonction de transfert :
(−𝜏𝑝)2 (−𝜏𝑝)3 (−𝜏𝑝)𝑛
2 − 𝜏𝑝 + 2! + 3! + ⋯ + 𝑛!
𝑒 −𝜏𝑝 =
(𝜏𝑝)2 (𝜏𝑝)3 (𝜏𝑝)𝑛
2 + 𝜏𝑝 + 2! + 3! + ⋯ + 𝑛!
La fonction pade.m permet l’obtention de cette approximation soit sous la forme d’une fonction
de transfert soit sous la forme d’un LTI objet.
[𝒏𝒖𝒎, 𝒅𝒆𝒏] = 𝒑𝒂𝒅𝒆(𝒕𝒂𝒖, 𝒏)
Où num et den sont des vecteurs lignes décrivant les numérateur et dénominateur de la fonction
de transfert, tau est le retard à simuler et n est l’ordre de l’approximation.
Analyse d’un système
Dans le domaine temporel
Les commandes les plus utiles sont :
Step.m : réponse indicielle d’un système
- Step(sys,t_fin) : calcule et affiche la réponse indicielle de chaque sortie du système sur un
horizon temporel 0 → 𝑡𝑓𝑖𝑛 . Si t_fin est omis, l’horizon temporel est choisi de façon
automatique.
- Step(sys,t) calcule et affiche la réponse temporelle de chaque sortie du système sur l’horizon
temporel défini par le vecteur t. Ce vecteur est de la forme : t=[t_début : pas : t_fin]
- Step(sys1,sys2,sys3,…, t_fin) idem que Step(sys,t_fin) mais appliqué aux différents système
sysi.
- Step(sys1,sys2,sys3,…, t) idem que Step(sys,t) mais appliqué aux différents systèmes sysi.
- [y, t, X]=step(sys,….) toutes les options précédentes sont utilisables. Les arguments entre
crochets permettent de récupérer, sous forme de vecteur, la réponse indicielle y, le vecteur
horizon temporel t, et enfin le vecteur d’état X, uniquement dans le cas où sys est sous forme
d’état. Si ça n’est pas le cas ce dernier argument ne doit pas être demandé. La réponse n’est
pas tracée.
Impulse.m : réponse impulsionnelle d’un système. Même utilisation que step.m.
lsim.m : réponse temporelle d’un système à une entrée arbitraire.
- lsim(sys, u, t) : calcule et affiche la réponse de chaque sortie du système à l’entrée u. l’entrée
u est définie par l’utilisateur sur l’horizon t qui est un vecteur temps. La variable u est donc
une matrice qui a autant de lignes qu’il y a de points dans le vecteur temps et autant de
colonnes qu’il y a d’entrées au système sys.
- Lsim(sys,u,t,X0) idem que lsim(sys, u, t) mais en définissant (uniquement si sys est sous
forme d’état) un vecteur d’état initial X0.
- lsim(sys1, sys2, sys3, …, u, t, X0) idem que lsim(sys,u,t,X0) mais avec plusieurs systèmes sys1,
sys2, sys3.
- [y,t,X]=lsim(sys, u, t, X0) idem que lsim(sys,u,t,X0) mais en récupérant les arguments y,t,et X
comme il est appliqué pour la commande step.m. Aucune courbe n’est tracée
automatiquement.
Dans le domaine fréquentiel
Parmi la multitude de commandes, nous donnerons les plus utiles. Dans tous les cas (système
continu ou discret, système monovariable ou multivariable), on considère le système étudié
décrit par sa matrice de transfert : 𝐻(𝑝)𝑜𝑢 𝐻(𝑧) .
Freqresp.m : calcule la réponse harmonique H(𝜔) d’un système.
𝐻𝜔 = 𝑓𝑟𝑒𝑞𝑟𝑒𝑠𝑝(𝐻, 𝜔) calcule la réponse harmonique H_𝜔 d’un système H pour toutes les
pulsations (en radians)/seconde) du vecteur 𝜔.
Bode.m : calcule |𝐻(𝜔)| 𝑒𝑡 𝐴𝑟𝑔[𝐻(𝜔)] et les trace dans le plan de Bode.
- bode(H, {𝝎𝒅𝒆𝒃 , 𝝎_𝒇𝒊𝒏}) calcule et affiche dans un plan de bode, la réponse harmonique de
H sur l’intervalle de pulsations 𝜔_deb→ 𝜔_𝑓𝑖𝑛. L’amplitude et la phase sont données sur des
figures séparées. Si l’intervalle est omis l’horizon fréquentiel est choisi automatiquement.
- bode(H, 𝜔) calcule et affiche dans un plan de Bode la réponse harmonique de H sur
l’intervalle de pulsations défini par le vecteur 𝜔 qui peut être créé par logspce.m.
- bode(H1,H2,H3,…,𝜔) idem que bode(H,𝜔) mais appliqué aux différents systèmes Hi. Les i
tracés se font sur la même figure.
- [mag, phi, 𝜔]=bode(H, …). Toutes les options précédentes sont utilisables. Les arguments de
sortie entre crochets permettent de récupérer sous forme de tableaux, le module (mag), la
phase (phi) de la réponse harmonique H et enfin le vecteur horizon fréquentiel. Les lieux de
Bode de l’amplitude et de la phase ne sont pas tracés.
Remarque : Pour les systèmes discrets, on fera attention de fournir un vecteur de pulsations
n’allant pas au-delà de la pulsation de Shannon.
Nichols.m : calcule |𝐻(𝜔)| 𝑒𝑡 𝐴𝑟𝑔[𝐻(𝜔)] et les trace dans le plan de Black.
- nichols(H, {𝝎𝒅𝒆𝒃 , 𝝎𝒇𝒊𝒏 }) calcule et affiche dans un plan Black, la réponse harmonique de H
sur l’intervalle de pulsations 𝜔_deb→ 𝜔𝑓𝑖𝑛 .
- nichols(H, 𝜔) calcule et affiche dans un plan de Black la réponse harmonique de H sur
l’intervalle de pulsations défini par le vecteur 𝜔.
- nichols(H1,H2,H3,…,𝜔) idem que nichols(H,𝜔) mais appliqué aux différents systèmes Hi. Les i
tracés se font sur la même figure.
- [mag, phi, 𝜔]=nichols(H, …): le lieu de Black n’est pas tracé.
Nyquist.m : calcule Re(𝜔) et Im(𝜔) et les trace dans un plan de Nyquist.
- nyquist(H, {𝝎𝒅𝒆𝒃 , 𝝎𝒇𝒊𝒏 }) calcule et affiche dans un plan Black, la réponse harmonique de H
sur l’intervalle de pulsations 𝜔_deb→ 𝜔𝑓𝑖𝑛 .
- nyquist(H, 𝜔) calcule et affiche dans un plan de Black la réponse harmonique de H sur
l’intervalle de pulsations défini par le vecteur 𝜔.
- nyquist(H1,H2,H3,…,𝜔) idem que nyquist(H,𝜔) mais appliqué aux différents systèmes Hi. Les
i tracés se font sur la même figure.
- [real, ima, 𝜔]=nyquist(H, …): le lieu de Nyquist n’est pas tracé.
Fonctions générales d’analyses