L - state-space

Pour l'exécution de programme, placer vous dans la fenetre MATLAB command
... a)vecteurs: on peut définir un vecteur X en donnant la liste de ces éléments:.

Part of the document


CHAPITRE 1: NOTION DE BASE SUR MATLAB
I- Introduction à MATLAB
MATLAB est une abréviation de Matrix Laboratry, écrit à l'origine, en
Fortran, par Celve Moler. La version actuelle, écrite en C par the
Matworks, existe en version professionnelle et en version enseignement.
MATLAB est un logiciel de calcul matriciel à syntaxe simple. Avec ces
fonctions spécialisées, il peut être aussi considéré comme un langage de
programmation adapté pour les problèmes scientifiques. Il existe deux modes de fonctionnement :
Mode interactif: L'utilisateur a la possibilité de réaliser rapidement des
calcules
sophistiqués et d'en présenter les résultats sous forme numérique ou
graphique dont MATLAB exécute les instruction au fur et à mesure qu'elles
sont données.
Mode programmation: Il est possible d'écrire des programmes comme avec
d'autres langages.
II- Utilité:
Dans le monde universitaire, MATLAB est utilisé pour l'enseignement de
l'algèbre linéaire, le traitement du signal, l'automatique, ainsi que dans
la recherche scientifique.
MALAB est l'outil de référence pour la simulation numérique, notamment en
ce qui concerne l'automatique. Il offre les possibilités avancées que ce
soit en matière d'identification ou de commande.
Dans le domaine industriel, il est utilisé pour la résolution et la
simulation de problèmes pratiques d'ingénieurs et de prototypage.
III- Procédure de démarrage:
Pour éditer un fichier de commande MATLAB, on suit la procédure suivante:
. Ouvrir un nouveau M-file en utilisant le raccourci Alt+F
. Ecrire votre programme dans le bloc note courant.
. Pour le déplacement dans cette fenetre utiliser la touche (Tab).
Sélectionner tout fichier dans type, placer vous dans la directory
work. Sauvegarder votre programme avec l'extension (.m) . (le nom de
programme ne doit dépasser 8 caractères, ne commence pas par un symbole
ou par un chiffre).
. Pour l'exécution de programme, placer vous dans la fenetre MATLAB
command window, se placer vous dans le répertoire (directory) Work si
vous l'êtes pas (en utilisant la commande cd Work)
. L'exécution du programme se fait par l'appel du nom du programme sans
l'extension m.
. Pour le déplacement dans les différentes fenêtres ouvertes en arrière
plan, utiliser les touches Alt+Tab (maintenir la touche Alt enfoncer
et chaque clique sur la touche tab vous avez une fenetre qui apparaît,
choisissez alors l'adéquate).
VI- outils mathématiques:
Avec MATLAB, les calculs sont numériques (une variable doit avoir une
valeur) et basés sur la manipulation de scalaire, de vecteur et de
matrice.
Dans le mode interactif, MATLAB peut être utilisé comme une super
-puissante calculatrice scientifique. On dispose des opérations
arithmétiques et d'un ensemble important de fonctions de calculs numérique
et de visualisation graphiques.
1-Opérations arithmétiques :
a) Nombres:
les nombres réels peuvent être écrit sous différents formats:
5 1.0237 0.5245E -12 12.78e[pic] 0.001234
-235.5087
Les nombres complexes peuvent être écrit sous forme cartésienne ou
polaire:
* Forme cartésienne: 0.5+i*2.7 -1.2+j*0.789 2.5+9.7i
*Forme polaire: 1.25*exp (j*0.246)
Le nombre complexe i=[pic]est noté i ou j
b) Formats d'affichage:
Pour choisir le format d'affichage pour les nombres, on utilise la
fonction FORMAT:
[pic]format short 0.1234
[pic]format long 0.12345678901234
[pic]format short e 1.2341E +002
[pic]format long e 0.123456789012345E+ 002
[pic]format hex ABCDEF0123456789 c) Opérations mathématiques:
+ Addition
-soustraction
* multiplication
[pic]Division à droite
\division à gauche
[pic]Puissance
2) vecteurs et matrices
a)vecteurs: on peut définir un vecteur X en donnant la liste de ces
éléments:
[pic]X=[pic]
X=0.5000 1.2000 - 3.7500 5.8200
-0.7350
Ou en donnant la liste qui forme le vecteur: [pic] X=2: 0.6:5
X=
2.0000 2.6000 3.2000 3.8000
4.4000 5.0000 Ou en utilisant une fonction qui génère un vecteur:
[pic]X=rand (1.6)
X=
0.4186 0.8462 0.5252 0.2026
0.6721 0.8381 b) Matrices:
On définit une matrice A en donnant ces éléments:
[pic] A=[pic] A=
0.5000 2.7000 3.9000
4.5000 0.8500 -1.2300
-5.1200 2.4700 9.030
Matrice unitaire : [pic] B=eye (4)
B=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Emploi des indices
Les éléments d'un vecteur ou d'une matrice peuvent êtres adressés en
utilisant les indices sous la forme suivante:
X (4): élément N[pic]4 du vecteur x
A (2, 9): élément se trouvant à la ligne 2, colonne 9 de la matrice A
B ( :,7): la colonne 7 de la matrice B
C (3, :): la ligne 3 de la matrice B Opérations matricielles: Les opérations matricielles exécutées par MATLAB sont illustrées comme
suite:
B=A[pic] La matrice B est égale à la matrice A transposée
E= inv (A) La matrice E égale à la matrice A inversée
C= A+B addition
D= A-B soustraction
Z= X*Y multiplication
X= A\B équivalent à inv (A)*B
X= B\A équivalent à B*inv (A)
3) Variables et fonctions:
a- Variables:
On définit une variable en donnant son nom et sa valeur numérique ou son
expression mathématique:
[pic]a= 1.25;
[pic]x= 0 :0.5 :10;
[pic]y= a*x; [pic]Z=y.[pic]2 b- expressions mathématiques:
On écrit les expressions mathématiques de la façon habituelle, par exemple:
[pic]z=5*exp (-0.4*x).*sin (7.5*y);
c- fonctions mathématiques:
Les fonctions mathématiques de base sont données comme suit:
abs: valeur absolue ou le module lorsque le nombre est complexe
angle: argument du nombre complexe
sqrt: racine carrée
real: partie réel du nombre complexe
imag: partie imaginaire du nombre complexe
conj: conjugué du nombre complexe
round: arrondir
fix: arrondir (vers zéro)
floor: arrondir (vers -?)
ceil: arrondir (vers+?)
sign: signe
exp: exponentielle
log: logarithme base e
log 10: logarithme base 10 Les fonctions trigonométriques sont données comme suit:
Sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, asinh, acosh,
atanh 4) Graphique: a) Traçage des courbes:
On utilise la fonction plot pour tracer un graphique 2D:
Plot(x, y) Tracer le vecteur y en fonction du vecteur x
Plot(t,x,t,y,t,z) Tracer x(t), y(t) et z(t) sur le même graphique.
Plot (t, z,'r[pic][pic]') Tracer z (t) en trait pointillé rouge b) format du graphique:
On peut choisir le format du graphique:
Plot(x, y) tracer y(x) avec échelles linéaires
Semilogx (f, A) tracer A (f) avec l'échelle log (f)
Semilogy(w, B) tracer B(w) avec échelle log(B)
Grid ajouter une grille c) ajout du texte au graphique:
title ('titre du graphique') Donner un titre au graphique
xlabel ('temps') étiquette de l'axe x
ylabel ('Tension') étiquette de l'axe y
gtext ('valeur absolue') ajouter du texte au graphique avec la
sourie
CHAPITRE2: APPLICATION I- Exemple développé: En utilisant MATLAB, peut passer de la fonction de transfert d'un système
automatique à sa représentation d'état.
On peut aussi agir ou modifier ses performances, tel que sa stabilité, sa
précision et sa rapidité. Soit la fonction de transfert en boucle ouvert suivante:
H (z)=1 /(z2-0.8z+0.15)
a) Utilisation d'un Correcteur proportionnel:
En utilisant le critère de jury, on a:
FTBF=H / (1+H) = k /(z2-0.8z+(0.15+k))
D (1) = 0.2+0.15+k = 0.25+k > 0 ( k > -0.25
D (-1) = 1.95+k > 0 ( K > -1.95
0.15+k < 1 ( K < 1-0.15= 0.85
=> -0.25 < k < 0.85
. k=0.5
H=tf ([k], [1 -0.8 0.15], 0.1)
F=feedback (H, 1)
pzmap (F) [pic]
(Pour k ([-0.25, 0.85], les deux pôles sont à l'intérieur du cercle. k=0.95
H=tf ([k], [1 -0.8 0.15], 0.1)
F=feedback (H, 1)
pzmap (F)
[pic] (Pour k( [-0.25, 0.85], les deux pôles sont à l'extérieur du cercle. En tapant «rltool », on aura la figure suivante :
[pic] On fixe le gain à 0.112 et on aura : [pic] On visualise la réponse indicielle suivant: [pic] Le temps de pic (0.5 s) et le temps de monté (0.2 s) sont comme suit : [pic] Le temps de réponse ainsi que l'erreur de position :
[pic]
Pour imposer une erreur nulle : [pic] [pic] b) Utilisation d'un correcteur Proportionnel intégral :
L'erreur de position du système précédemment est de :
1-0.242 = 0.7580
Le correcteur sera de la forme suivante :
C (z)= kp+ (k1*z) / (z-1)
[pic] [pic]
[pic] [pic] Si on change la position :
[pic] [pic] . Détermination de ki et kp graphiquement tel que le temps de réponse soit
de 1.1s (le zéro du correcteur est à 0.52) [pic]
. Modifier le zéro jusqu'à avoir le temps de réponse =0.9s
[pic] [pic] (Le proportionnel intégrateur permet de ralentir le système (il le rend
plus lent). 3) Correcteur proportionnel intégrateur dérivateur :
On propose l'équation suivante :
C(z)= kp+ (ki*z) /(z-1)+(kd*(z-1)/z) [pic]
[pic]
[pic]
C)Simulation avec Simulink : Pour le correcteur proportionnel :
[pic] [pic]
[pic] [pic] II- Exercice s proposés:
Exercice1: On considère le processus décrit par la fonction de transfert suivante:
F(s)[pic]= 0.48s+0.109/(s+0.594)(0.369-s)[pic]
On réalise une commande par calculateur comme indiqué ci-dessous: [pic]Les convertisseurs A/N et N/A sont considérés comme des
échantillonneurs idéaux, synchrones, de gain unité et sont associés à des
blo