Vous êtes sur la page 1sur 12

ESP-UCAD INITIATION A LA PROGRAMMATION SOUS MATLAB

Cours d’introduction à Matlab | M. Césaire Ndiaye – Enseignant Chercheur ESP-UCAD


1
Ce document s’adresse aux étudiants en Licence ou en formation DUT en
Electromécanique. Son objectif est de donner aux étudiants un outil lui permettant
de travailler de manière autonome à l’aide de questions détaillées et progressives,
et d’une construction pas à pas des programmes.

A mon avis, Matlab est beaucoup plus simple et beaucoup plus souple
d’utilisation que n’importe quel tableur, même pour des applications simples de
visualisation de données. Par ce recueil d'exemples, je souhaite donner aux
étudiants les bases nécessaires à la programmation pour que l'usage de l'outil
Matlab dans le domaine de l'ingénierie soit simple et efficace et ainsi inciter nos
étudiants à l'appliquer. Et ce sont ces applications dans le domaine de
l’hydraulique, l’automatique, l’électronique, la thermique, la mécanique, ... qui
seront vues par la suite à l’issu de la compréhension de l’utilisation de ces
fonctions basiques présentées ci-après.

Ce document est un guide très simplifié de MATLAB qui regroupe les


commandes basiques nécessaires à la programmation, de problèmes très variés.
Les exemples seront illustrés en utilisant Matlab R2016a. Cette introduction ne
prétend pas présenter toutes les fonctionnalités de Matlab et ne peut en aucun cas
remplacer sa documentation que vous pouvez consulter en ligne à l’adresse
suivante :

https://www.mathworks.com

2
Sommaire
1. Introduction ........................................................................................................................ 4

2. Généralités-Présentation d’une session de travail Matlab ...................................................... 6

2.1 ENVIRONNEMENT MATLAB ..................................................................................... 6

2.2 FONCTION « help » ........................................................................................................ 9

2.3 LES VARIABLES ........................................................................................................... 9

2.4 NOMBRES ET OPERATIONS MATHEMATIQUES ................................................. 11

2.4.1 Nombres .................................................................................................................. 11

2.4.2 Opérations arithmétiques......................................................................................... 12

3
1. Introduction

Véritable environnement de développement, Matlab, constitue une référence


dans l’ingénierie comme dans l’enseignement et la recherche pour tout ce qui concerne la
simulation et les traitements numériques. En effet, ce sont plus d’un million d’ingénieurs qui
utilisent régulièrement cet outil dans l’industrie.

Matlab correspondant à l’abréviation de « MATrix LABoratory », est un logiciel dédié


au calcul matriciel. Un avantage certain est que l’on peut s’affranchir des contraintes des
langages de programmation classiques telles que la déclaration de variables, la compilation du
programme avant l’exécution (en contre partie la vitesse d’exécution est inférieure). Avec ses
fonctions spécialisées et sa syntaxe de programmation très abordable, Matlab est un outil
puissant qui permet la résolution de nombreux problèmes scientifiques en beaucoup moins de
temps qu’il n’en faudrait pour les formuler en C ou en Pascal. Par exemple :

La résolution de systèmes linéaires


Le calcul de valeurs propres, vecteurs propres
Le calcul de transformée de Fourier rapide
Plusieurs méthodes de résolution d’équations différentielles
Plusieurs algorithmes d’optimisation

D’autre part, Matlab dispose aussi de toute une batterie d’instructions graphiques pour
visualiser des courbes, des surfaces,...

A ceci peut s'ajouter un outil de programmation graphique, Simulink, essentiel pour la


simulation de systèmes multi-physiques. Simulink est un outil de conception visuel, intégré à
l'environnement MATLAB. Il fournit un environnement de modélisation graphique par
schéma-blocs.

Stateflow : environnement de conception pour le développement de machines à états.


Simscape : modélisation physique multi-domaines (mécanique, électrique, hydraulique,
…).
SimMechanics : modélisation mécanique 3-D avec possibilité d'importer des modèles
SolidWorks.
SimElectronics : modélisation de systèmes d'électronique et d'électromécanique.

4
SimPowerSystems : modélisation de systèmes d'électrotechnique et d'électronique de
puissance

En plus de la version de base, il es possible d’acquérir des « toolboxes » ou


boites à outils permettant de développer la bibliothèque des fonctions Matlab dans des domaines
spécifiques : traitement du signal, traitement d’image, optimisation, automatique, hydraulique,
mécanique, électronique,... L’utilisateur peut lui-même définir ses propres fonctions et donc sa
« toolboxe » adaptée à ses besoins.

Matlab est un langage interprété, c’est à dire que les instructions sont interprétées et
exécutées immédiatement après avoir été tapées. Il fonctionne dans plusieurs environnements
tels que Windows, Macintosh, X-Windows (Unix, Lunix).

L’utilisation de Matlab peut se faire de deux manières différentes :

En mode interactif : l’usager tape ses commandes ligne par ligne dans la fenêtre de
commande et Matlab exécute les instructions au fur et à mesure qu’elles sont entrées
(principe de la calculatrice). Ce mode de travail devient rapidement fastidieux lorsqu’il
y a beaucoup d’instructions à taper pour arriver au résultat cherché. Il est alors
préférable de faire un programme (mode exécutif).
En mode exécutif : Matlab exécute une suite de commandes ; c'est-à-dire un programme
écrit par l’usager et sauvegardées dans un fichier qui aura systématiquement l’extension
« .m » appelé « fichier M ».

5
2. Généralités-Présentation d’une session de travail Matlab

2.1 ENVIRONNEMENT MATLAB

A l’ouverture de Matlab version R2016a, la fenêtre suivante apparait :

L’environnement de travail est découpé en cinq fenêtres : Workspace, Command


Windows, Current Folder. Si l’on veut modifier cette présentation (ou revenir à celle par défaut)
il faut aller dans le menu Layout puis Default.

Workspace : Il n’est pas nécessaire de déclarer les variables avant de les utiliser. Elles
sont définies au fur et à mesure que l’on tape des commandes Matlab. Elles sont stockées
dans l’espace de travail ou Workspace qui représente la « mémoire » de Matlab. Toute
variable affectée et connue par Matlab apparait dans cette fenêtre avec des informations
sur le type de variable, sa dimension,... les variables apparaissant dans cette fenêtre
peuvent être utilisées dans d’autres calculs.

6
Command Windows : Il s’agit de la fenêtre de commande dans laquelle l’utilisateur
donne les instructions et Matlab retourne les résultats. Les instructions sont entrées une
ligne à la fois après le symbole >>. Chaque ligne est exécutée immédiatement après la
frappe de la touche « Entrée » ou « Return » de votre clavier.

Par défaut, la réponse est affichée et stockée dans la variable « ans » (answer
= réponse) que l’ont peut réutiliser dans le calcul suivant. La variable « ans » garde toujours le
résultat du dernier calcul. Pour conserver le résultat d’un calcul, il est évidemment préférable
de le sauver dans la variable de votre choix (par exemple a = 6-2 sauve le résultat dans a).

Current Folder : Dans cette fenêtre sont visibles, les noms des différents scripts créés.
Ces fichiers ont l’extension « .m » lorsqu’il s’agit de script créés sous Matlab et
l’extension « .mdl » lorsqu’il s’agit de modèles créés sous Simulink. Il est possible
qu’après chaque démarrage de Matlab de voir ces fichiers qui sont stockés dans un
dossier bien défini dans votre PC.

7
On peut réorganiser l’affichage des fenêtres en allant dans le menu « Layout » puis
« Command History » et choisir l’option « Docked ». L’historique de votre travail apparait et
dans cette fenêtre sont visibles toutes les commandes exécutées.

Des commandes peuvent être rappelées à partir de cette fenêtre. Les commandes
suivantes donnent des informations sur la liste des variables dans l’espace de travail :

who : affiche la liste des variables connues dans l’espace de travail

whos : affiche le détail de chaque variable : le nom des variables Name ; leurs
dimensions Size (nombre de ligne et de colonne) ; la place prise en mémoire par les
variables Bytes et leurs types Class (tableau de caractères, de réels,...).

Pour supprimer les variables a et d de l’espace de travail « Workspace » afin de libérer


de l’espace dans la mémoire, on utilise la commande clear.

>> clear a d

Pour effacer la totalité des variables de l’espace de travail, on écrit clear all ou clear.
Cette commande est importante lorsque l’on commence un nouveau programme afin que les
variables utilisées dans le programme ne gardent pas des valeurs affectées précédemment.

8
Pour quitter Matlab, utiliser la commande quit qui retourne le nombre d’opérations
effectuées pendant la session (parfois la fermeture de Matlab est très rapide).

2.2 FONCTION « help »

Le moyen le plus simple d’avoir de l’aide lorsque l’on recherche si une fonction
mathématique existe sous Matlab est de lancer la commande helpwin qui ouvre une fenêtre
d’aide interactive où apparait la liste des fonctions Matlab classées par catégorie.

Pour obtenir de l’aide sur un sujet, une instruction ou une fonction, on tape help suivi
du sujet, de l’instruction ou de la fonction désirée. Par exemple, pour avoir des informations
sur la fonction « round », on tape : help round dans la commande Window.

>> help round

Des informations concernant l’utilisation des cette fonction apparaitront dans la


commande Window ainsi que des exemples d’utilisation de cette fonction et éventuellement
d’autres fonctions jouant le même rôle.

D’une manière générale, pour obtenir de l’aide ou voir la documentation de Matlab,


cliquer sur le point d’interrogation du menu Help, ou taper helpbrowser dans la commande
Window.

2.3 LES VARIABLES

Matlab ne requiert aucune déclaration, ni dimensionnement des variables. Leur type


(entier, réel, complexe, caractère,...) s’affecte automatiquement en fonction du calcul effectué.
On peut indiquer le nom de la variable dans lequel un nombre ou le résultat d’une opération
doit être stocké. Pour affecter une variable, on écrit simplement à quoi elle est égale :

>> x = 6

affecte la valeur 6 à x ou plus précisément crée une matrice de dimension 1-par-1 nommé x et
la valeur 6 est stockée dans cette matrice. Comme il a déjà été mentionné Matlab travaille
essentiellement sur des objets de type matriciel qui peuvent être réels ou complexes. Par
conséquent un scalaire est considéré comme une matrice 1x1 et de même un vecteur sera une
matrice Nx1. On remarque qu’après l’affectation de la variable, Matlab affiche de suite la valeur
affectée (ce que l’on appelle echo d’une commande).

9
Remarque : Un point virgule à la fin de la commande (>> x = 6 ;) provoque l’absence de
l’affichage de résultat. Sa présence est importante sous peine de voir un calcul ralenti par
l’affichage inutile d’un ensemble de calculs. Pour voir le contenu de la variable x, on tape
simplement :

>> x et la réponse est la suivante :


x=6
Commandes utiles :

- Pour effacer les instructions dans la fenêtre de commande, sans toutefois perdre les variables,
on utilise la commande clc.

- Toutes les commandes passées après le prompt >> sont mémorisées dans l’espace de travail
dans l’ordre où elles ont été rentrées. On peut rappeler la commande précédente par la flèche
sur le clavier ou en utilisant la fenêtre Command History. On peut même retrouver toutes les
commandes commençant par un « p » en tapant p dans la commande Window puis en utilisant
la flèche sur le clavier.

- Lorsque Matlab semble tourner dans « le vide » ou si vous souhaitez stopper une instruction
en cours, cliquer dans la commande Window et utiliser Ctrl C pour stopper le programmer.

NB :

- Toute variable commence par une lettre et doit avoir moins de 19 caractères.
- Attention, Matlab distingue les lettres minuscules et majuscules.
- Il faut exclure les accents dans les variables.
Variables prédéfinies :

Variables prédéfinies
pi Nombre 
NaN Not a Number (0/0)
inf Infini (1/0)
i,j Partie imaginaire d’un complexe
realmin Plus petit réel
realmax Plus grand réel
nargin Fonction : Nombre d’argument en entrée
nargout Fonction : Nombre d’argument en sortie
eps Précision virgule flottante

10
2.4 NOMBRES ET OPERATIONS MATHEMATIQUES

2.4.1 Nombres
Les nombres réels doivent être compris entre 2.2251e-308 et 2.225 e+308 et peuvent être
affichés sous différentes formats :

Format short 0.1234


Format long 0.12345678901234
Format short e 0.1234E+002
Format long e 0.12345678901234E+002
Format hex ABCDEF0123456789

Le format par défaut est « short ». Il peut être modifié au moyen de la commande format
ou directement à partir du menu « Preferences » puis « Command Window ». Cependant, notez
bien qu’il s’agit juste d’un simple affichage ; tous les nombres sont stockés en mémoire avec le
format long. Pour afficher le format courant, utiliser la commande : get(0,'format').

Les nombres complexes peuvent être écrits sous forme cartésienne ou polaire :

Forme cartésienne -1.2+0.789j


2.5+9.7i
4+4*i
Forme polaire 1.25*exp(j*0.246)

Tant qu’elles ne sont pas affectées à des valeurs, les variables i et j représentent le
nombre imaginaire pur. Pour définir la partie imaginaire d’un nombre complexe, on peut
omettre d’utiliser l’opérateur de multiplication avant la variable i ou j (ne pas utiliser l’opérateur
‘*’ car il force Matlab à définir un nombre complexe même si l’on a affecté une valeur à i ou j
auparavant). Par exemple, comparez ces deux cas :

Premier cas : >> i = 3;


>> z =3+4*i
z = 15 est un réel

Deuxième cas : >> z = 3+4i


z = 3.0000 + 4.0000i est un nombre complexe même si i=3.

11
2.4.2 Opérations arithmétiques

+ Addition
- Soustraction
* Multiplication
/ Division
\ Division à gauche
^ Puissance
‘ Transposée d’une matrice

Lorsque le résultat d’une opération est indéterminée Matlab affiche NaN (Not a Number
= pas un nombre).
>> x = 0/0
x = NaN

12

Vous aimerez peut-être aussi