Introduction à MATLAB / OCTAVE

publicité
CH I - DECOUVERTE DE MATLAB / OCTAVE
1
Introduction à MATLAB / OCTAVE
Source: http://enacit1.epfl.ch/cours_matlab/base.html
MATLAB est un logiciel de calcul numérique, de visualisation et de programmation très
performant et convivial développé par la société The MathWorks.
Le nom de MATLAB vient de MATrix LABoratory, les éléments de données de base
manipulés par MATLAB étant des matrices (mais pouvant évidemment se réduire à des
vecteurs et des scalaires) qui ne nécessitent ni dimensionnement ni déclaration de type.
Contrairement aux langages de programmation classiques (scalaires et non interactifs), les
opérateurs et fonctions MATLAB permettent de manipuler directement et interactivement
ces données matricielles, rendant ainsi MATLAB particulièrement efficace en calcul
numérique, analyse et visualisation de données en particulier.
Mais MATLAB est aussi un environnement de développement ("progiciel") à part entière :
son langage de haut niveau, doté notamment de structures de contrôles, fonctions d'entréesortie et de visualisation 2D et 3D, éditeur/debugger, outils de construction d'interface
utilisateur graphique (GUI)... permet à l'utilisateur d'élaborer ses propres fonctions ainsi que
de véritables programmes ("M-files").
Toutes ces caractéristiques font aujourd'hui de MATLAB un standard incontournable en
milieu académique, dans les différents domaines de l'ingénieur et la recherche scientifique.
Hélas MATLAB est un logiciel commercial qui coûte relativement cher en terme de licences,
même au tarif académique. Mais la bonne nouvelle c'est qu'il existe des logiciels compatibles
MATLAB ("clones") open-source, gratuits, également multi-plateformes :
• GNU Octave : logiciel offrant une compatibilité élevée par rapport à MATLAB
(surtout avec les extensions Octave-Forge) ;
• Scilab : logiciel similaire à MATLAB, mais moins compatible (au niveau syntaxe...)
Nous allons donc travailler avec Octave. Cela permettra à chacun de posséder un logiciel de
travail sans devoir le payer ou le pirater.
Référence pour Octave: http://www.gnu.org/software/octave/
Octave peut être téléchargé de cette adresse. Attention cependant: il est très aisé d'installer et
d'utiliser Octave sur le système d'exploitation Linux. Il est pourtant plus difficile d'installer
Octave sous Windows. Voir le site: http://enacit1.epfl.ch/cours_matlab/octave.html
Il est donc préférable d'utiliser Octave avec le système d'exploitation Linux. C'est pourquoi
nous utiliserons Linux.
3e Année Maths Appliquées / 06-07 / R. Eckert
CH I - DECOUVERTE DE MATLAB / OCTAVE
2
§1 Ouverture d'Octave
Lorsqu’on ouvre Octave, on normalement une configuration par défaut qui affiche 2 fenêtres:
une fenêtre à gauche « Commands » ou « Brower » qui permettent de se déplacer à travers les
fonctionnalités d'Octave et une fenêtre à droite dans laquelle l'utilisateur va taper ses
commandes: c'est l'espace de travail (Workspace).
Il existe deux modes de fonctionnement:
1. Un mode interactif: OCTAVE exécute les instructions au fur et à mesure qu'elles sont
données par l'usager lorsqu'il les tapes dans la fenêtre de droite.
2. Un mode exécutif: OCTAVE exécute ligne par ligne un "fichier M" (programme en
langage MATLAB / OCTAVE) qui a été enregistré précédemment. Ce fichier sera appelé
depuis la fenêtre de droite en tapant son nom.
Pour travailler avec Octave, nous allons plus régulièrement utiliser le second mode de
fonctionnement qui nous permet de faire des programmes, de les sauver et de les rappeler de
manière aisée.
Pour créer un M-file, on ouvrira un nouveau fichier et par défaut, ce sera un M-file. On pourra
alors sauver ce fichier dans le répertoire de notre choix, par exemple sur notre clé USB.
Le nom du programme ne doit comporter ni espace, ni majuscule ni accent. Ce nom doit être
le plus parlant possible pour nous rappeler ce qu'exécutera le programme. On verra que pour
certains types de programmes appelés « fonctions », le nom doit être particulièrement bien
choisi.
Vous pourrez donc travailler directement depuis votre clé USB. A partir du moment où vous
avez sauvé votre programme sur votre clé, aller dans l'espace de travail d'Octave et taper:
cd/media/usbdisk
Cette commande permettra à Octave de venir chercher les programmes à exécuter sur votre
clé USB. Vous n'aurez donc pas besoin de sauver quoique ce soit sur le PC sur lequel vous
travaillez.
Pour vérifier que vous vous situez bien sur votre clé USB, taper « ls » dans l'espace de travail.
Octave affiche le nom de tous les fichiers qui se trouvent dans le répertoire actif.
§2 Aspects élémentaires
2.1 L’Aide
help
Exemple
help plot
donne de l’aide sur une fonction ou un toolkit (help help)
donne de l'aide sur la fonction plot et comment l'utiliser. Pour quitter
l'aide, taper « q »
who, whos
liste des variables dans le workspace
clear
efface toutes les variables de l'espace de travail
Exemple de l’utilisation de who :
>> var=2
var = 2
autre=3
3e Année Maths Appliquées / 06-07 / R. Eckert
CH I - DECOUVERTE DE MATLAB / OCTAVE
>> who % fournit la liste des fonctions définies dans le workspace
Your variables are:
autre var
>>whos % donne plus d'informations que who
>> clear autre
>> who
Your variables are:
var
>>clear % efface toutes les variables du workspace
2.2 Les commentaires
Si on veut faire un commentaire expliquant les commandes que l’on est en train de
programmer, précéder le commentaire de la particule %.
Exemple :
>> s=2+3 % je fais une somme
s=5
Si on veut faire un commentaire qui doit s’afficher au cours du calcul, utiliser la syntaxe
disp(‘ ‘).
Exemple :
>> s=2+3;
>> disp('Le résultat est')
Le résultat est
>> disp(s)
5
Le point virgule ; à la fin de la ligne permet de ne pas afficher directement le résultat de la
commande tapée.
Si on veut faire un calcul sur plusieurs lignes, utiliser la commande …
Exemple
>> s = 2 ... % commande sur deux lignes
+3;
On peut entrer une valeur avec l’instruction input:
x = input('Valeur de x = ') Afficher sur l'écran "Valeur de x = " et attendre qu'un nombre
soit tapé sur le clavier.
3e Année Maths Appliquées / 06-07 / R. Eckert
3
CH I - DECOUVERTE DE MATLAB / OCTAVE
4
§3 Nombres et opérations
3.1 Nombres
Les nombres réels peuvent être écrits sous différents formats:
5
1.0237
0.5245E-12
12.78e6
0.001234
-235.087
Format d’affichage :
Pour choisir le format d'affichage pour les nombres, on utilise l'instruction format:
format short (au moins 5 chiffres significatifs)
format long 0.12345678901234 (au moins15 chiffres singificatifs)
format short e 1.2341E+002 (format short et notation scientifique)
format long e 0.123456789012345E+002 (format long et notation scientifique)
Plus de format dans help format
3.2 Variables
On définit une variable en donnant son nom et sa valeur numérique ou son expression
mathématique:
a =1.25;
x = 0:0.5:10;
y = a*x;
z = y.^2;
3.3 Opérations arithmétiques
+ Addition
- Soustraction
* Multiplication
/ Division à droite
\ Division à gauche
^ Puissance
3.4 Fonctions mathématiques
Les fonctions mathématiques de base sont données dans le tableau suivant:
abs
valeur absolue
sqrt
racine carrée
round
arrondir
sign
signe
rem
reste
exp
exponentielle
log
logarithme base e
log10
logarithme base 10
sin
sinus
cos
cosinus
tan
tangente
asin
arc sinus
acos
arc cosinus
atan
arc tangente
3e Année Maths Appliquées / 06-07 / R. Eckert
CH I - DECOUVERTE DE MATLAB / OCTAVE
Exemples
>> rem(5,3) % rem(5,3)=5-3
ans = 2
>> abs(-7)
ans = 7
>> sqrt(9)
ans = 3
>> log(3)
ans = 1.0986
>> sign(-7)
ans = -1
Création de fonctions
L’utilisateur peur créer ses propres fonctions. Nous couvrirons ce sujet dans la partie de
programmation.
3.5 Expressions mathématiques
On écrit les expressions mathématiques de la façon habituelle:
x=8 ;
y= log(3)
z = 5*exp(-0.4*x)*sin(7.5*y);
Exemple:
>> w=50;
>> t=0.5e-3;
>> y=25*exp(-4*t)*cos(w*t)
y=
24.9423
3e Année Maths Appliquées / 06-07 / R. Eckert
5
Téléchargement