Académique Documents
Professionnel Documents
Culture Documents
2) L’interface
L’interface-utilisateur de MATLAB varie légèrement en fonction de la version de
MATLAB et du type de machine utilisée. Elle est constitué de :
* Fenêtre de commandes (Command Window)
* Espace de travail (Workspace)
* Historique des commandes (Command History)
* Répertoire de travail (Current Folder)
1
Notons que la command window est la fenêtre centrale de l’interface, c’est à
partir de là que l’utilisateur pourra lancer les commandes interprétées par
Matlab. Le principe est simple et intuitif, le tout est de connaitre les fonctions
appropriées et de respecter leur syntaxe. Premier exemple élémentaire : à
l’invite de commande, taper « 3*5 », puis entrer :
3) Opérateurs de base :
ceux-ci agissent sur les scalaires et les matrices. Dans le cas matriciel, les
dimensions des matrices doivent s’y prêter !
2
4) Fonctions mathématiques de base :
Les fonctions mathématiques de base sont données dans le tableau suivant :
5) Matrices :
Un tableau est délimité par des crochets. On sépare les colonnes par des
espaces et les lignes par des points-virgules.
Exemples :
3
Instructions pour les matrices :
6) Courbes :
le tracé d’une courbe s’effectue à partir de la commande plot().
Exemple :
Traçons la fonction sinus dans l'intervalle [ -π,π] avec un pas de 0.01.
4
7) Travail avec les m-files :
Dans les précédentes sections, nous avons présenté des séries de commandes
lancées depuis la command window. Pour des calculs complexes et répétitifs, il
est préférable (ou plutôt indispensable) de rassembler l’ensemble des
commandes dans un fichier qui constituera le programme à exécuter.
On distingue deux types de fichiers dans Matlab, également appelés m-files :
les scripts et les fonctions.
7.1 Fichiers SCRIPT
Un fichier script permet regrouper des séries de commandes Matlab. Cela évite
d’avoir à saisir plusieurs fois de longues suites d’instructions. A son lancement,
les instructions qu’il contient s’exécutent séquentiellement comme si elles
étaient lancées depuis l’invite de commande. Un script stocke ses variables
dans le workspace, lequel est partagé par tous les scripts. Ainsi, toutes les
variables créées dans les scripts sont visibles depuis la command window et
vice versa. Lorsque Matlab détecte une erreur, le programme s’arrête et un
message d'erreur s'affiche à l'écran (avec le numéro de la ligne où l'erreur est
détectée).
Editons notre script monfichier.m :
5
Ecrivons dans l’éditeur notre fonction qui permet de calculer l’aire et le volume
d’une sphère pour un rayon donné.
6
Opérateurs logiques
Ces opérateurs effectuent un test logique entre deux variables logiques de
même dimension:
& et
| ou
~ non
xor ou exclusif
any(x) retourne 1 si un des éléments de x est non nul
all(x) retourne 1 si tous les éléments de x sont nuls
Le résultat vaut 1 si le test est vrai et 0 s’il est faux. Pour des matrices,
l’opération s’effectue aussi élément par élément. Concernant les opérandes,
une valeur est considérée comme fausse (=0) si elle est nulle. Elle est
considérée comme vrai (=1) si elle est non nulle.
7
Branchement conditionnel (if … elseif … else)
Cette structure permet d’exécuter un bloc d’instructions en fonction de la
valeur logique d’une expression. Sa syntaxe est :
if expression
instructions …
end
L’ensemble des instructions instructions est exécuté seulement si expression
est vraie.
Plusieurs tests exclusifs peuvent être combinés.
if expression1
instructions1 …
elseif expression2
instructions2 …
else
instructions3 …
end
Plusieurs elseif peuvent être concaténés. Leur bloc est exécuté si l’expression
correspondante est vraie et si toutes les conditions précédentes n’ont pas été
satisfaites. Le bloc instruction3 associé au else est quant à lui exécuté si aucune
des conditions précédentes n’a été réalisées.
Exemple :
8
Le terme expression est une expression logique. Si cette dernière est vraie, le
bloc instructions est exécuté. Puis, expression est de nouveau testé.
L’exécution du bloc est répétée tant que le test est vrai.
Exemple :
9
Exercices :
1) Résolution matricielle de systèmes linéaires. Résoudre matriciellement les
systèmes suivants. Si Matlab affiche un message d’erreur, dire pourquoi.
a) b)
4) Faire une fonction qui permet de déterminer la nature d’un triangle ABC.
(−1)𝑛
5) A l’aide d’un programme Matlab, calculer ∑𝑛
√𝑛
10
TP2 Etude des systèmes asservis sur Matlab/Simulink
Initiation :
Travail demandé :
1) Réponse d’un système du premier ordre :
Sous Matlab :
5
saisir la fonction de transfert 𝐺(𝑝) = .Visualiser la réponse indicielle et la
1+2𝑝
réponse impulsionnelle de G(p).
sous SIMULINK :
Pour accéder à Simulink, taper sous matlab : >>simulink ou cliquer sur Simulink
dans l’espace de travail. Ouvrir un new model à partir de la fenêtre principale
de Simulink).
11
On reprend l’exemple précédant, on obtient :
5
s+2
Step Transfer Fcn Scope
5
s+2 Scope
Step T ransfer Fcn
simout
T o Workspace
12
3) Analyse d’un système asservis
On considère le système asservis suivant :
Cr(p)
T2(p)
(p)
-
Ve(p) + U(p) + m(p) 1 (p)
R(p) T1(p)
𝑝
-
𝐴
On donne 𝑇1(𝑝) = (1+𝜏 avec 𝐴 = 5, 𝜏1 = 0,1 𝑠 et 𝜏2 = 0,5 𝑠.
1 𝑝)(1+𝜏2 𝑝)
𝐵+𝐶 𝑝
𝑇2(𝑝) = (1+𝜏 avec B=0,2 et C=0,3. Le gain du capteur est =0,2V/rad.
1 𝑝)(1+𝜏2 𝑝)
Le correcteur utilisé est un correcteur proportionnel 𝑅 (𝑝) = 𝐾1.
1) A l’aide de Matlab et de simulink, étudier la stabilité du système en boucle
fermée en fonction de K1. Valider par une étude théorique.
2) Trouver à l’aide de Matlab/simulink la valeur de K 1 qui permet de garantir
une marge de gain égale à 10dB. Comparer avec le résultat théorique.
3) Pour cette valeur de K1 calculer la marge de phase.
4) Déterminer à l’aide de Matlab/simulink l’erreur statique 𝜺(∞) pour la valeur
de K1 précédente, une consigne en rampe unitaire et un couple résistant en
échelon d’amplitude 20N.m.
13
TP3 Modélisation et simulation de la machine à courant
continu
1) Introduction :
L’évolution des technologies conduit à utiliser des machines nécessitant des
vitesses de rotation précises et variables pour l’entraînement d’engins
industriels, systèmes robotique...etc.
Dans ce TP, on s’intéresse à la modélisation du moteur à courant continu, car il
offre une introduction facile au fonctionnement de ses homologues, en
donnant des repères clairs. Les moteurs à courant continu ont pendant
longtemps été les seuls aptes à la vitesse variable à large bande passante,
comme dans le domaine robotique. Ils ont donc fait l’objet de nombreuses
améliorations, et beaucoup de produits commercialisés aujourd’hui.
Sous MATLAB/SIMULINK, nous réalisons le modèle de la machine à courant
continu à excitation séparée par deux méthodes :
1- Par des fonctions de transferts de premier ordre.
2- Par la représentation d’état temporelle.
2) Modélisation de la MCC
Il s’agit d’un MCC à excitation séparée commandé par la tension d’induit, dont
le schéma technologique est illustré dans la figure au-dessous
14
Equation électrique :
Equation mécanique :
15