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