Matlab - Simulink
Introduction à Matlab et Simulink
M. T-J 1
Matlab - Simulink
Qu’est-ce que Matlab ?
Environnement et langage de calcul technique intégrant :
visualisation
programmation
Usages usuels :
! Mathématique et calcul
! Développement d’algorithmes
! Acquisition de données
! Modélisation, simulation, et prototypage
! Analyse de données, exploration, et visualisation
! Graphismes scientifique et technique
! Développement d’applications, y compris la réalisation
d’interfaces graphique (GUI)
M. T-J 2
Matlab - Simulink
Introduction à
MATLAB et SIMULINK
Programme
Introduction
Mathématiques
MATLAB
calcul
calcul formel
Programmation
Présentation de Simulink
SIMULINK
Exemples de modélisation
M. T-J 3
Matlab - Simulink
Le système de Matlab :
Le système est constitué des principaux éléments suivants :
1. Les éléments de l’interface utilisateur (outils de bureau) et
l’environnement de développement
M. T-J 4
Invite de command (Prompt) Matlab - Simulink
Menu, change
dépendamment de l’outil
Visualisation/Changement de répertoire
utilisé
M. T-J 5
Matlab - Simulink
Remarques :
1. Les menus sont personnalisables
Desktop
M. T-J 6
Matlab - Simulink
2. l’affichage par défaut peut être modifié
Au cas où on
souhaite
récupérer la
configuration par
défaut :
Menu :
Desktop
Desktop Layout
Default
M. T-J 7
Matlab - Simulink
2. Librairie de fonctions mathématiques
Ensemble de fonctions et d’algorithmes :
Fonctions élémentaires usuelles
Fonctions avancées
- inversion de matrices
- solveurs (divers)
- transformations de Fourier
- Fonctions de Bessel
-…
M. T-J 8
Matlab - Simulink
3. Le language
Langage de programmation avec diverses possibilités
" fonctions
" structures de données
" POO
M. T-J 9
Matlab - Simulink
4. Graphisme
Affichages
-Vecteurs et matrices en tant que graphiques
- visualisations de données (courbes et surfaces)
- traitement d’image
Possibilité de personnalisation des paramètres d’affichage
M. T-J 10
Matlab - Simulink
5. Interfaces externes
La librairie d’interfaces externes permet de faire interagir des
programmes écrits en C ou en fortran avec Matlab
•Appels de routines à partir de Matlab
•Appel de Matlab comme moteur de calcul (lecture et écriture de
fichiers mat)
M. T-J 11
Matlab - Simulink
5. Boites à outils (Toolboxes)
•Aérospatial
•Bioinformatique
•Communication
•Contrôle des systèmes
•Ajustement de courbes
•Acquisition de données
•Bases de données
•Transmission de données
•Econométrique
•Conception de filtres
•Logique floue
•…
M. T-J 12
Matlab - Simulink
L’aide Matlab
Rubriques d’aide
En tapant “help” à l’invite de commande : affichage des rubriques d’aide
M. T-J 13
Matlab - Simulink
Aide Matlab
>> help sum
Aide sur la fonction sum
M. T-J 14
Matlab - Simulink
Aide Matlab
>> help lang
Aide sur le langage de programmation
M. T-J 15
Matlab - Simulink
Variables et opérateurs
M. T-J 16
Matlab - Simulink
Variables
Toutes les variables sont stockées sous forme de pseudo réels (flottant) sur 32bit
Il n’ y a pas de distinction entre entier et réel (float)
>>a = 3;
Même affectation à la variable “a”
>>a = 3.0;
Matlab est sensible à la casse (majuscule/minuscule)
>>A=2*pi;
A≠a
>>a=2;
M. T-J 17
Matlab - Simulink
Variables
On peut utiliser des chiffres et underscores dans les noms de variables
>>case34=6.45;
OK
>>case_34=6.45;
Les noms de variables doivent commencer par une lettre
>>458nom1=23.45; Erreur de syntaxe
Les chaînes de caractère (string : texte) sont écrites entre guillemets simples.
Les variables sont stockées dans un tableau (vecteur) de caractères
>>Prenom=‘Mohamed Anass’;
M. T-J 18
Matlab - Simulink
Variables MATLAB
Si une variable est définie, en tapant son nom, sa valeur est affichée
>>x=32.5;
>>x
x=
32.5 Affichage de la valeur
Pour effacer une variable de la mémoire, on utilise l’instruction clear
>>b=8
>>clear a
M. T-J 19
Matlab - Simulink
Variables MATLAB
Matlab donne un “echo” à la commande sauf si un point virgule
termine celle-ci
>>y=23.2;
>>
>>y=23.2
y=
23.2
>>
M. T-J 20
Matlab - Simulink
Variables MATLAB
Vecteurs
Vecteurs colonne Vecteurs ligne
1
a = 2 a = {1 2 3}
3
>>a=[1;2;3]; >>a=[1,2,3];
>>a >>a
a= a=
1 1 2 3
2
3
Éléments séparés par des points-virgules Éléments séparés par des virgules
M. T-J 21
Matlab - Simulink
Variables MATLAB
Matrices
1 2 3
Matrices 2-D a=
4 5 6
>>a=[1,2,3;4,5,6];
>>a
a=
1 2 3
4 5 6
Encore : séparer les colonnes par des points-virgules et les lignes par des virgules
M. T-J 22
Matlab - Simulink
Variables MATLAB
Accès aux éléments d'une matrice : indices
Un vecteur est un cas particulier d'une matrice
Un vecteur ligne est une matrice 1 x n , 1 ligne n colonnes
Un vecteur colonne est une matrice n x 1 , n lignes 1 colonne
>>a=[1,2,3];
>>a(2) Peut aussi être référencé par a(1,2)
ans =
2 Remarque : a(2,1) donne une erreur
car “a” a une seule ligne
M. T-J 23
Matlab - Simulink
Variables MATLAB
exemple
1 2 3
a= >>a=[1,2,3;4,5,6];
4 5 6
accès affectation
>>a(2,2)=9;
>>a(2,3) >>a
ans = a=
6 1 2 3
4 9 6
M. T-J 24
Matlab - Simulink
Variables MATLAB
Nombres complexes
Les variables nommées “i” ou “j” sont utilisés pour représenter le
nombre complexe défini par :
i2 = -1
Un nombre complexe sera don représenté sous la forme
z = a + ib Re(z) = a
Im(z) = b
M. T-J 25
Matlab - Simulink
Variables MATLAB
Nombres complexes
A moins que les lettres i or j soient déjà définies, Matlab affecte à i et j
leur valeur complexe
Dans Matlab, une variable complexe est représentée sous la forme
suivante
(En supposant toutes les variables effacées (clear))
>>z=23+i*56; >>z=23+j*56;
>>z >>z
z= z=
23.00 + 56.00i 23.00 + 56.00i
M. T-J 26
Matlab - Simulink
Variables MATLAB
Nombres complexes
Que se passe-t-il dans ces cas?
>>i=3; >>a=sqrt(-1);
>> z=23+i*56; >>z=23+a*56;
>>z >>z
z= z=
M. T-J 27
Matlab - Simulink
Variables MATLAB
Nombres complexes
Remarque : Un nombre réel est un cas particulier d'un nombre
complexe
En affectant un nombre complexe à un élément d'une matrice, celle-ci
devient complexe en entier
>>M=[4,2]; >>M(1)=3+i*5;
>>M >>M
M= M=
4 2 3.00+5.00i 2.00+0.00i
M. T-J 28
Matlab - Simulink
Variables MATLAB
Types avancés
Tableaux à n-dimensios
structures
M. T-J 29
Matlab - Simulink
Opérations MATLAB
Opérations de base
addition +
soustraction -
multiplication *
division
division droite /
division gauche \ ?
>>x=9;y=4;
>>t1=x/y; t1=2.2500
Attention !
>>t2=x\y; t2=0.4444
M. T-J 30
Matlab - Simulink
Opérations MATLAB
Représentation mathématique Représentation Matlab
z = yx >>z=y^x
y = ex >>z=exp(x)
y = ln(x) >>z=log(x)
y = log(x) >>z=log10(x)
y = sin(x) y = sin −1 (x) >>y=sin(x) >>y=asin(x)
y = cos(x) y = cos −1 (x) >>y=cos(x) >>y=acos(x)
y = tan(x) y = tan −1 (x) >>y=tan(x) >>y=atan(x)
M. T-J 31
Matlab - Simulink
Opérations MATLAB
Matrices
Seules des matrices de mêmes dimensions peuvent être ajoutées ou retranchées
Pour la multiplication, les dimensions doivent correspondre (règle élémentaire)
M. T-J 32
Matlab - Simulink
Opérations MATLAB : Matrices
"Division" gauche(\) et droite (/)
Représentation mathématique Matlab
C = A −1B C=A\B
C = BA −1 C=B/A
A doit être carrée et inversible
M. T-J 33
Matlab - Simulink
Opérations MATLAB Matrices
Matrix Transpose
Représentation mathématique Matlab
C = AT >> C=A';
Pour les matrices complexes, le résultat est la transposée conjuguée
1 2 3
A= a = [1 + j2 3 + j4]
4 5 6
>> B=A'; >> b=a';
1 4
B = 2 5 1 − j2
b=
3 6 3 − j4
M. T-J 34
Matlab - Simulink
Fichiers – m de MATLAB
Il existe deux types de fichiers m (extension .m)
script :
ensemble de commandes que Matlab exécute
lorsque le script est "exécuté"
Fonctions :
ensemble de commandes qui représentent, ensembles,
une procédure, fonction ou méthode
Les deux types de fichier portent l'extension “.m”
M. T-J 35
Matlab - Simulink
Création de fichiers .m
Cliquer sur l'icône “page”
Fenêtre de l'éditeur de texte Matlab
M. T-J 36
Matlab - Simulink
Fichiers .m
Script
Sur la ligne de commande Dans le fichier script Essai.m
>> a =2 ; a=2;
>> b = ; b = 4;
>> x = 5 ; x = 5;
>> y = a * x+ b ; y=a*x+b;
>> y y
y=
9.0 Sur la ligne de commande
>>
>>E s s a i
y=
9.0
>>
M. T-J 37
Matlab - Simulink
Script : remarques
Les scripts partagent la mémoire avec l'espace de travail
Un fichier script peut en appeler un autre
M. T-J 38
Matlab - Simulink
Fichiers de Fonctions
Matlab identifies les fichiers fonction des fichiers script par
l'emploi des mots-clés “function” et “return”
Le nom du fichier fonction doit être le même que
celui de la fonction
M. T-J 39
Matlab - Simulink
Exemples de Fichiers Fonction
Fichier x2.m
>> r = 3 ; >> h = x 2 (4 . 2);
>> d = x 2 (r); >>h
>> d h=
d= 17.64
9.0 >>
>>
M. T-J 40
Matlab - Simulink
Entrées (Inputs) et Sorties (Outputs) Multiple
Sorties entre crochets, [ ] Entrées entre parenthèses ( )
M. T-J 41
Matlab - Simulink
Variables et Fichiers Fonctions
Les variables créées dans la fonction ne sont pas retenues dans
l'espace de travail, sauf pour celles de sortie
La fonction n'a pas accès aux variables de l'espace de travail sauf
pour celles des entrées.
Les variables passées à la fonction sont des “copies” des variables de
l'espace de travail. Changer leur valeur dans la fonction n'a aucun effet sur
leur valeur dans l'espace de travail.
M. T-J 42