TP : Atelier Mathématique ISET Nabeul
Institut Supérieur des Etudes Technologiques de Nabeul
Filière : 1ére Année Licence, Génie Electrique
Matière : Atelier Mathématique
Travaux Pratiques N°01
Initiation à MATLAB
Objectifs :
Ce TP d’initiation à MATLB évoque les thèmes suivants a pour but de :
Faciliter la prise en main du logiciel MATLAB ;
Découvrir les commandes prédéfinies ;
Savoir utiliser les variables et les fonctions prédéfinies ;
Faire des calculs élémentaires simples.
1. Généralités :
MATLAB (MATrix LABoratory) comprend de nombreuses fonctions graphiques, un système
puissant d'opérateurs s'appliquant à des matrices, des algorithmes numériques (EDOs, zéros
d'une fonction, intégration, interpolation), ainsi qu'un langage de programmation extrêmement
simple à utiliser.
Il fut conçu initialement (au milieu des années 1980) pour manipuler aisément des matrices à
l'aide de fonctions pré-programmées (addition, multiplication, inversion, décompositions,
déterminants ...), en s'affranchissant des contraintes des langages de programmation classique :
Plus de déclarations de variables.
Plus de phase d'édition-compilation-exécution.
Cette orientation calcul matriciel a depuis évolué vers un outil pouvant être vu comme une
super-calculatrice graphique et regroupant dans la version de base la quasi-majorité des
problèmes numériques (hormis les EDP qui sont aussi diversifiées que délicates à résoudre).
Plusieurs extensions plus «pointues» ont été conçues sous la forme de «TOOLBOXes», qui
sont des paquets (payants) de fonctions supplémentaires dédiées à un domaine particulier :
CONTROL pour l'automatique
SIGNAL pour le traitement du signal
OPTIMIZATION pour l'optimisation
NEURAL NETWORK pour les réseaux de neurones
Imen AZZOUZ Page 1
TP : Atelier Mathématique ISET Nabeul
Cet aspect modulaire est l'un des plus grands atouts de MATLAB :
L'utilisateur peut lui-même définir ses propres fonctions, en regroupant des instructions
MATLAB dans un fichier portant le suffixe ".m". La syntaxe est bien plus abordable que
dans les langages classiques et devrait éliminer les réticences habituelles des programmeurs
débutants pour écrire des fonctions.
En termes de vitesse d'exécution, les performances sont inférieures à celles obtenues avec un
langage de programmation classique. L'emploi de MATLAB devrait donc être restreinte à
des problèmes peu gourmands en temps calcul, mais dans la plupart des cas, il présente une
solution élégante et rapide à mettre en œuvre.
2. Prise en main
2.1 Démarrage, quitter
Pour lancer le programme, tapez matlab dans une fenêtre de commandes. Une fenêtre logo
fait une brève apparition, puis dans la fenêtre de commande, le symbole >> apparaît : c'est
l'invite de MATLAB qui attend vos commandes.
Vous pourrez quitter la session avec la commande quit.
2.2 Calculs élémentaires
Commençons par les opérateurs les plus courants : +, -, *, /, ^ . Le dernier signifie
«puissance», et on retiendra qu'il est différent de celui du FORTRAN. Les parenthèses
s'utilisent de manière classique.
Nous avons tout pour effectuer un premier calcul : tapez une expression mathématique
quelconque et appuyez sur «Entrée». Par exemple :
Le résultat est mis automatiquement dans une variable appelée ans (answer). Celle-ci peut
être utilisée pour le calcul suivant, par exemple :
1>> (3*2)/(5+3)
2 ans =
3 0.7500
Ensuite, vous remarquerez que le résultat est affiché avec 5 chiffres significatifs, ce qui ne
signifie pas que les calculs sont faits avec aussi peu de précision. La précision utilisée par
MATLAB pour stocker les réels est celle du double precision FORTRAN. Si vous voulez
afficher les nombres avec plus de précision, tapez la commande format long. Pour revenir au
comportement initial : format short.
2.3 Variables et fonctions prédéfinies
Le calcul effectué plus haut n'a guère d'intérêt en soi. Il est bien sûr possible de conserver un
résultat de calcul et de le stocker dans des variables. Gros avantage sur les langages
Imen AZZOUZ Page 2
TP : Atelier Mathématique ISET Nabeul
classiques : on ne déclare pas les variables. Leur type (entier, réel, complexe) s'affectera
automatiquement en fonction du calcul effectué.
Pour affecter une variable, on dit simplement à quoi elle est égale
Exemple:
1>> a=1.2
2a =
3 1.2000
On peut maintenant inclure cette variable dans de nouvelles expressions mathématiques,
pour en définir une nouvelle :
1>> b = 5*a^2+a
2b =
3 8.4000
et ensuite utiliser ces deux variables :
1>> c = a^2 + b^3/2
2c =
3 297.7920
J'ai maintenant trois variables a, b et c. Comme indiqué dans le préambule ces variables
ne sont pas affichées en permanence à l'écran. Mais pour voir le contenu d'une variable,
rien de plus simple, on tape son nom :
1>> b
2b =
3 8.4000
On peut aussi faire des calculs en complexe, donc pour définir un complexe :
1 >> a+ b*i
2 ans =
3 1.2000 + 8.4000i
Le symbole * peut être omis si la partie imaginaire est une constante numérique. Tous les
opérateurs précédents fonctionnent en complexe.
Imen AZZOUZ Page 3
TP : Atelier Mathématique ISET Nabeul
Par exemple :
1 >> (a+b*i)^2
2 ans =
3 -69.1200 + 20.1600i
Un dernier point sur les variables :
MATLAB fait la différence entre les minuscules et les majuscules.
Les noms de variables peuvent avoir une longueur quelconque.
Les noms de variables doivent commencer par une lettre.
2.4 Effacement et liste des variables
La commande clear permet d'effacer une partie ou toutes les variables définies jusqu'à présent.
Il est conseillé de placer cette commande au début de vos fichiers de commandes, en particulier
lorsque vous manipulez des tableaux.
Syntaxe:
1 clear var1 var2 var3 ...
Si aucune variable n'est spécifiée, toutes les variables seront effacées.
La commande who affiche les noms de toutes les variables en cours.
2.5 Variables prédéfinies
Il existe un certain nombre de variables pré-existantes. Nous avons déjà vu ans qui contient le
dernier résultat de calcul, ainsi que i et j.
Il existe aussi pi, et quelques autres. Retenez que eps, nom que l'on a souvent tendance à
utiliser est une variable prédéfinie.
2.6 Fonctions prédéfinies
Toutes les fonctions courantes et moins courantes existent. La plupart d'entre elles
fonctionnent en complexe. On retiendra que pour appliquer une fonction à une valeur, il faut
mettre cette dernière entre parenthèses.
Exemple:
1 >> sin(pi/12)
2 ans =
3 0.16589613269342
Imen AZZOUZ Page 4
TP : Atelier Mathématique ISET Nabeul
Voici une liste non exhaustive :
fonctions trigonométriques et inverses : sin, cos, tan, asin, acos, atan
fonctions hyperboliques (on rajoute «h») : sinh, cosh, tanh, asinh, acosh,
atanh
racine, logarithmes et exponentielles : sqrt, log, log10, exp
fonctions erreur : erf, erfc
La notion de fonction est plus générale dans MATLAB, et certaines fonctions peuvent avoir
plusieurs entrées et plusieurs sorties.
Attention:
Ces variables ne sont pas protégées, donc si vous les affectez, elles ne gardent pas leur valeur.
C'est souvent le problème pour i et j que l'on utilise souvent spontanément comme indices de
boucles, de telle sorte qu'on ne peut plus ensuite définir de complexe !!
Imen AZZOUZ Page 5