MATLAB
MATLAB
MATLAB
Introduction au logiciel
MATLAB
Version R2012b
Soufien GANNOUNI
Introduction
Installation
Conclusion
Sommaire de lexpos
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
MATLAB ???!!!
MATLAB est une abrviation du nom MATtrix LABoratory. Cest un logiciel dvelopp par la socit The MathWorks. Il a t conu afin de fournir un environnement de calcul matriciel simple, efficace, interactif et portable, permettant la mise en uvre des algorithmes dvelopps la rsolution approche d'quations diffrentielles, d'quations aux drives partielles ou de systmes linaires, etc.... MATLAB est constitu par un noyau relativement rduit, complt par une bibliothque de fonctions prdfinies, trs souvent sous forme de fichiers m-les, et regroupes en pacquages ou toolboxes. A ct des toolboxes prdfinis, il est possible dajouter des toolboxes spcifiques un tel problme. Le langage MATLAB est interprt, c d, chaque expression est traduite en code machine au moment de son excution. Un programme MATLAB na donc pas besoin dtre compil avant dtre excut.
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
Les fonctionnalits de MATLAB Les fonctionnalits incluses dans MATLAB comprennent : * Manipulation des matrices et algbre linaire * Analyse des donnes * Graphiques et visualisation * Les toolbox de MATLAB Les toolbox apportent une extension aux fonctionnalits : * Traitement de signal, dimage, des ondes * Optimisation, conomtrie, statistique, et finance *Algorithme gntique * Mathmatique symbolique *
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
fonctions Capabilit de Input Output Excution des commandes comme DOS Sauvgarde et tlchargement des donnes
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
Installation
Double clic sur Step Choisir install without using the internet Entrer le numro de srie : 23809-26556-08469-31324 Choisir Custom install et dcocher MATLAB Distributed Computing Servir 6.1 et MATLAB Production Server Aprs linstallation activer MATLAB avec le fichier matlab2012b_std.dat
E:\Crack\readme.txt
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
Lancement : * Faire un raccourci de :C:\Programme\MATLAB\R2012b\bin\matlab.exe sur le bureau * Lancement minimis * Commencer dans C:\Utilisateurs\Documents\MATLAB Arrt * Fermez la fentre MATLAB * Ou tapez >> exit ou >> quit
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
Barre du menu
Espace de travail
rpertoire
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
NOM
* Il peut tre nimporte quel combinaison de caractre, de nombre, et de tir _, mais il doit ncessairement commencer par une lettre (x_min, cnf127, 52coef, zz23) * Il existe des noms des noms rservs : if, else, for, while, end (la liste est dfinie par la fonction iskeyword ) * On peut sassurer que le nom est admis ou non par la fonction isvarname(str) * Si le nom dune variable concide avec le nom dune fonction, la fonction ne peut plus tre utilise que lorsque la variable est efface de lespace de travail. * La longueur maximale du nom dune variable est dtermine par namelengthmax (par dfaut=63)
Valeur
* Le type de variable est celui de la dernire valeur attribue, lattribution est faite silencieusement.
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
* Pour attribuer une valeur une variable, utiliser = : >> A=32 * >> a=1 % tout ce qui vient aprs le symbole % est un commentaire a= 1 * a et A sont des symboles diffrents * Pour trouver la valeur dune variable, taper le nom de la variable * On peut galiser une autre variable celle dj existante : >> B=A * Lutilisation du point-virgule ; la fin de la ligne de commande limine laffichage * Une opration sur une variable affiche le rsultat dans la variable spciale ans * La variable ans contient le dernier rsultat obtenu * On peut crer une autre variable par une opration ou fonction : >> B=A+A
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
* Un vecteur est une suite de nombre * pour crer un vecteur, on utilise les crochets [ ] * Pour crer un vecteur ligne, utiliser la virgule , pour sparer les nombres. * Pour crer un vecteur colonne, utiliser la virgule ; pour sparer les nombres. * Pour crer un vecteur incrment constant, utiliser les deux points virgule :. * Un vecteur ligne peut tre transform en un vecteur colonne avec le transpos (signe apostrophe)
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
>> b=[1 2] >> b=[1,2] >> c=[3;4;5] >>v=[2;3;7] >>v=[2,-3+i,7] >>v' >>v. >>w=[-3;-3-i;2] >>v+w' >>v*w >>w'.*v >>w'.*v >>w.^3 >>v=1:5.1:23 >>ones(size(v)) >>ones(1,4) >>3*ones(1,5) >>zeros(3,1)
% un vecteur ligne de dimension 1x2 % la mme chose % un vecteur colonne de dimension 3x1 %vecteur colonne composantes relles %vecteur ligne composantes complexes, i^2 =-1 % vecteur transconjugu % vecteur transpos % vecteur colonne % somme de deux vecteurs % produit scalaire euclidien % produit des composants terme terme % division des composants terme terme % mise la puissance 3 de chaque composante. % vecteur a incrment constant % vecteur de mme taille que v et contenant des 1 % vecteur ligne 4 composantes gales a 1 % vecteur ligne 5 composantes gales a 3 % vecteur colonne 3 composantes nulles
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
* La matrice est l'lment de base en MATLAB * Les scalaires et les vecteurs sont un cas spcial de matrice * MATLAB vous permet de faire des oprations sur toute une matrice la fois, donc pas besoin de faire des boucles. * Les matrices de MATLAB peuvent tre de dimension n * En introduisant une matrice, on utilise , pour sparer les colonnes , et ; pour dfinir une nouvelle ligne. * On peut dfinir une matrice dans MATLAB de plusieurs faons : par la liste de ses lments en la gnrant par une suite dinstructions et de fonctions en la lisant dans un fichier extrieur.
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
>>A=[1,2,3;0,0,atan(1);5,9,-1]; >>A=[1 2 3 >> 0 0 atan(1) >> 5 9 -1] >>A=[1 2 3... >>0 0 atan(1)... >>5 9 -1] >>v=1:5;W=v'*v >>W(1,:) >>A=eye(3,3) >>B=toeplitz([2,1,0,0]) >>A=rand(1,5) >>Zeros(m,n) >>ones(m,n) >> sparse(i,j,s) >>find(A>0.5) >>find(A) >>find(A==0.2) >> det(A)
% ne pas confondre avec ce groupe d'instructions % multiplication de matrices %extraction de la premire ligne % Matrice identit % une matrice de Toeplitz % cre un vecteur ligne contenant 5 nombres repartis alatoirement entre 0 et 1 %crer une matrice de m lignes et n colonnes de zros %crer une matrice de m lignes et n colonnes de 1 %une matrice condense tous les lments sont nuls sauf ceux indiqus par les indices i et j % renvoie les indices des composantes de A >0.5 % renvoie les indices des composantes de A diffrentes de 0 % renvoie les indices des composantes de A gales a 0.2 % dterminant
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
spare les lments sur la mme ligne (ou spare les colonnes), elle peut tre remplac par un espace spare les lments sur la mme colonne, ou spare les lignes transpos dun vecteur ou une matrice les arguments passs une fonction sont entre parenthses, ou pour se rfrer un lment dune matrice ou une cellule utiliss pour crer des matrices ou pour enchainer plusieurs matrices utiliss pour crer des cellules Pour former une chaine de caractre Il gnre un vecteur ligne La forme gnrale est [dbut : incrment : fin], lincrment peut tre non-entier ou mme ngatif gale dans un test logique ce signe signifie NON dans un test logique diffrent suprieur ou gale
; ()
[] {} :
== ~ ~= >=
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
| || & && % @() * / \ ^ .* ./ .\ .^
Installation
Conclusion
ou (a|b : si a est vraie MATLAB test b) ou court-circuit (a||b : si a est vraie MATLAB ne test pas b) et (a&b : si a est faux MATLAB test b) et court-circuit (si a est faux MATLAB ne test pas b) dbut dun commentaire dans une fonction cre une fonction outils continue la fonction la ligne suivante (dans lditeur des fonctions) multiplication matricielle Division matricielle A/B = A*B-1 division matricielle inverse B\A=B-1*A puissance matricielle A^2=A*A oprations sur les matrices lment par lment (A. /B=B.\A)
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
Comme la plupart des langages de programmation, MATLAB possde plusieurs structures de contrle L'expression L'expression La boucle La boucle ifelse switch for while
Initiation MATLAB
Soufien Gannouni
02/05/2013
Introduction
Installation
Conclusion
* Il est possible de crer un programme MATLAB, connu sous le nom de fichier .m (m.file). * Il sagit, laide de lditeur de MATLAB (Menu File New M-file ), de crer un fichier en format texte qui contient une srie de commandes MATLAB (par exemple nom_de_fichier.m). * Une fois le fichier sauvegard et pour charger les commandes se trouvant dans ce fichier, il suffit d'entrer le nom du fichier (sans l'extension) dans la fentre des commandes >> nom_de_fichier * Les commandes qui y sont stockes seront alors excutes.
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
Les fonctions MATLAB * Les fichiers .m permettent d'crire du code mais aussi des fonctions. * Le concept de fonction en MATLAB est similaire aux fonctions avec dautres langages de programmation, i.e. une fonction prend un/des argument(s) en entre et produit un/des argument(s) en sortie. function [ output_args ] = function_name( input_args ) instructions end * Le nom de la fonction function_name est sensitive la case. * Les noms de toutes les fonctions et constantes dfinie par MATLAB sont en minuscule * Les arguments doivent tre passs la fonction entre parenthses, mais la fonction peut ne pas accepter dargument * Si la fonction gnre plusieurs sorties, celles-ci doivent tre incluses entre crochets. * Si aucune sortie nest spcifie, la fonction donne le premier rsultat trouv (sil existe).
Initiation MATLAB
Soufien Gannouni
10
02/05/2013
Introduction
Installation
Conclusion
clc : efface le contenu de la fentre des commandes mais nefface pas les variables clear x : efface le variable x de lespace de travail * on peut slectionner plusieurs variable avec * (remplace une chaine de caractre), ou ? (remplace un seul caractre) clear : efface toutes les variables de lespace de travail save (nom_fichier) : sauvegarde toutes les variables dans le fichier nom_fichier load (nom_fichier) : ouvre le fichier nom_fichier whos : donne une information sur toutes les variables de lespace de travail which function_name : donne le chemin de la fonction utilise
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
Il existe plusieurs fonctions pour les graphiques sous Matlab, 2-D et 3-D. * Les plus courants : plot, loglog, semilogx, semilogy, plotyy (2 axes y gauche et droite), plot3, mesh, surf, area, bar, hist, contour et bien d'autres. On peut aussi manipuler le graphique. * Les principales fonctions permettant le contrle des axes et des graphiques sont : axis zoom grid box hold axes subplot xlim ylim Control de lchelle et lapparence de laxe Zoom avant et arrire sur un graphe 2D Lignes de grille Zone de laxe Tenir le graphe en cour Crer les axes dans des positions arbitraires Crer les axes dans des positions arbitraires Limite de X Limite de Y
Initiation MATLAB
Soufien Gannouni
11
02/05/2013
Introduction
Installation
Conclusion
* Les fonctions d'annotations du graphique sont : legend title xlabel ylabel text gtext Lgende du graphe Titre du graphe Label de laxe X Label de laxe Y annotation du texte Placer le texte avec la souris
* Concernant l'impression des graphiques (impression via imprimantes ou dans un fichier) : print printopt orient imprimer le graphe. imprimer par dfaut. dfinir lorientation du papier.
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
* Pour certaines fonctions graphiques (comme plot), le style de courbe, la couleur et le type de symbole peuvent tre prciss directement comme paramtre. Les trois paramtres (couleur, marker et style de courbe) sont paramtrs chacun par un caractre comme suit : couleur y yellow m magenta c cyan r red g green b blue w white k black marker . point o circle x x-mark + plus * star s square d diamond v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram ligne - solid : dotted -. dashdot -- dashed
Initiation MATLAB
Soufien Gannouni
12
02/05/2013
Introduction
Installation
Conclusion
* Pour superposer plusieurs tracs ou courbes sur le mme graphique, il faut activer la commande hold. hold on hold off permet de superposer les tracs indique que le prochain trac rafrachira la figure.
* Lors d'une superposition de courbes, la mise l'chelle est automatique. * La juxtaposition de graphique se fait facilement l'aide de la commande subplot : subplot(n,m,i) n : nombre de lignes m : nombre de colonnes i : slection du subplot
Initiation MATLAB
Soufien Gannouni
Introduction
Installation
Conclusion
MATLAB comporte une aide ergonomique et performante. On peut l'atteindre de deux manires : * Depuis l'cran principal en allant dans le menu HelpMATLAB help. * En tapant help dans la fentre des commandes. La commande help permet de recevoir des informations sur une fonction : Exemple : >> help plot, >> help function
Site de la socit the MathWorks http://www.mathworks.com Page officielle de MATLAB avec des vidos et des cours http://www.mathworks.com/acdemia/student_center/tutorials/launchpad.html Page mathtools qui offre des programmes dans diffrents domaines http://www.mathtools.net/MATLAB/index.html Fonctions/scripts libres dvelopps pour MATLAB : http://www.mathworks.com/matlabcentral/fileexchange/
Initiation MATLAB
Soufien Gannouni
13
02/05/2013
Introduction
Installation
Conclusion
Exemple 1: On note a et b les nombres complexes a=11-7i, b=-1+ 3i Calculer les modules de a et b, les produits ab, ab, la partie relle et la partie imaginaire de a2+b3 Exemple 2 : On note u et v les vecteurs suivants u = (1, 1,2)T , v = (5,-1,2)T Calculer 3u, 2u-v, ||2u-v||1, ||2u-v|| Dterminer langle form par les vecteurs u et v. Exemple 3 : On note A et B les matrices suivantes A= [1 2 -1 1 ; -1 1 0 3] ; B=[1 0 1 ; -4 5 3] Calculer les matrices C = I2 - BBT ; D=AAT Dterminer les valeurs propres de la matrice D. Tester lexpression find (A>0) Exemple 4 : Faire une fonction puis un script qui calcule lerreur. On rappelle que lerreur est : Err = (val_exacte-val_calcule)*100/val_exacte Exemple 5 : On donne x = [0 :0.05 :4*pi] ; g = cos(x) ; h = sin(x) Tracer les deux graphes de g et h
Initiation MATLAB
Soufien Gannouni
14