MATLAB

14
02/05/2013 1 UNIVERSITE TUNIS ELMANAR Introduction au logiciel MATLAB Version R2012b Faculté des Sciences de Tunis Laboratoire d’Énergétique et des Transferts Thermiques et Massiques Soufien GANNOUNI Introduction Installation Démarrer avec MATLAB Conclusion Initiation MATLAB Soufien Gannouni Sommaire de l’exposé * Introduction * Installation * Démarrer avec MATLAB * Conclusion

Transcript of MATLAB

Page 1: MATLAB

02/05/2013

1

UNIVERSITE TUNIS ELMANAR

Introduction au logiciel

MATLABVersion R2012b

Faculté des Sciences de Tunis

Laboratoire d’Énergétique et des Transferts Thermiques et Massiques

Soufien GANNOUNI

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Sommaire de l’exposé

* Introduction

* Installation

* Démarrer avec MATLAB

* Conclusion

Page 2: MATLAB

02/05/2013

2

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

MATLAB est une abréviation du nom “MATtrix LABoratory”. C’est un logiciel développé par la société The MathWorks. Il a été conçu afin de fournir un environnement de calcul matriciel simple, efficace, interactif etportable, permettant la mise en œuvre des algorithmes développés la résolution approchéed'équations différentielles, d'équations aux dérivées partielles ou de systèmes linéaires, etc.... MATLAB est constitué par un noyau relativement réduit, complété par une bibliothèque defonctions prédéfinies, très souvent sous forme de fichiers m-files, et regroupées en pacquages outoolboxes. A côté des toolboxes prédéfinis, il est possible d’ajouter des toolboxes spécifiques à un telproblème. Le langage MATLAB est interprété, c à d, chaque expression est traduite en code machine aumoment de son exécution. Un programme MATLAB n’a donc pas besoin d’être compilé avantd’être exécuté.

MATLAB ???!!!

Introduction

Les fonctionnalités de MATLAB

Les fonctionnalités incluses dans MATLAB comprennent :

* Manipulation des matrices et algèbre linéaire

* Analyse des données

* Graphiques et visualisation

* …

Les toolbox de MATLAB

Les toolbox apportent une extension aux fonctionnalités :

* Traitement de signal, d’image, des ondes …

* Optimisation, économétrie, statistique, et finance

*Algorithme génétique

* Mathématique symbolique

* …

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Page 3: MATLAB

02/05/2013

3

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

MATLAB

Ligne de commandem-files

fonctions

mat-files

Exécution des commandes comme DOS

Series de commandes de MATLAB

Capabilitéde InputOutput

Sauvgarde et téléchargement

des données

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Installation

Double clic sur “Step”

Choisir « install without using the internet »

Entrer le numéro de série : “23809-26556-08469-31324”

Choisir “Custom install” et décocher “MATLAB Distributed Computing Servir 6.1” et

“MATLAB Production Server”

Après l’installation activer MATLAB avec le fichier “matlab2012b_std.dat

E:\Crack\readme.txt

Page 4: MATLAB

02/05/2013

4

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Lancement :

* Faire un raccourci de :“C:\Programme\MATLAB\R2012b\bin\matlab.exe” sur le bureau

* Lancement minimisé

* Commencer dans “C:\Utilisateurs\Documents\MATLAB”

Arrêt

* Fermez la fenêtre MATLAB

* Ou tapez >> exit ou >> quit

* Interrompre l’exécution d’une opération : Ctrl + C

Lancement et arrêt

Historique des commandes

Espace de travail

Fenêtre des commandes

Barre du menu

répertoire

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Page 5: MATLAB

02/05/2013

5

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Ouvrez une session MATLAB en cliquant tout simplement MATLAB

Dans la fenêtre de commandes.

Démarrer avec MATLAB

* Les caractères “>>’’ en début de ligne constituent le prompt de MATLAB. C'est aprèseux que vous pouvez taper des commandes qui seront exécutées par le logiciel aprèsavoir taper sur la touche entrée.* En appuyant sur la flèche de haut dans la fenêtre des commandes affichent la dernièrecommande tapée : ceci économise du temps lorsque la commande donne une erreur.* Si vous voulez afficher une commande très antérieure, taper la première lettre de cettecommande et appuyer sur la flèche de haut* Pour effacer les données en mémoire (par exemple avant d'exécuter un nouveau calcul),il suffit d'utiliser la commande “clear”.* On parle aussi d'un script, on les tape au préalable dans un fichier en utilisant l'éditeurintégré.* Une fois le script est enregistré, on peut l'exécuter en tapant son nom dans la fenêtreMATLAB.

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

NOM

* Il peut être n’importe quel combinaison de caractère, de nombre, et de tiré ‘_’, mais il doit

nécessairement commencer par une lettre (x_min, cnf127, 52coef, zz23)

* Il existe des noms des noms réservés : if, else, for, while, end … (la liste est définie par la

fonction « iskeyword »)

* On peut s’assurer que le nom est admis ou non par la fonction « isvarname(‘str’) »

* Si le nom d’une variable coïncide avec le nom d’une fonction, la fonction ne peut plus être

utilisée que lorsque la variable est effacée de l’espace de travail.

* La longueur maximale du nom d’une variable est déterminée par namelengthmax (par

défaut=63)

Valeur* Le type de variable est celui de la dernière valeur attribuée, l’attribution est faite

silencieusement.

Les variables

Page 6: MATLAB

02/05/2013

6

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* Pour attribuer une valeur à une variable, utiliser ‘=’ : >> A=32

* >> a=1 % tout ce qui vient après le symbole ‘%’ est un commentaire

a =

1

* a et A sont des symboles différents

* Pour trouver la valeur d’une variable, taper le nom de la variable

* On peut égaliser une autre variable à celle déjà existante : >> B=A

* L’utilisation du point-virgule ‘;’ à la fin de la ligne de commande élimine l’affichage

* Une opération sur une variable affiche le résultat dans la variable spéciale ‘ans’

* La variable ‘ans’ contient le dernier résultat obtenu

* On peut créer une autre variable par une opération ou fonction :

>> B=A+A

Exemples

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* Un vecteur est une suite de nombre

* pour créer un vecteur, on utilise les crochets ‘[ ]’

* Pour créer un vecteur ligne, utiliser la virgule ‘,’ pour séparer les nombres.

* Pour créer un vecteur colonne, utiliser la virgule ‘;’ pour séparer les nombres.

* Pour créer un vecteur à incrément constant, utiliser les deux points virgule ‘:’.

* Un vecteur ligne peut être transformé en un vecteur colonne avec le transposé (signe

apostrophe) « ‘ »

Vecteurs

Page 7: MATLAB

02/05/2013

7

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

>> b=[1 2] % un vecteur ligne de dimension 1x2>> b=[1,2] % la même chose>> c=[3;4;5] % un vecteur colonne de dimension 3x1>>v=[2;3;7] %vecteur colonne composantes réelles>>v=[2,-3+i,7] %vecteur ligne composantes complexes, i^2 =-1>>v' % vecteur transconjugué>>v.‘ % vecteur transposé>>w=[-3;-3-i;2] % vecteur colonne>>v+w' % somme de deux vecteurs>>v*w % produit scalaire euclidien>>w'.*v % produit des composants terme à terme>>w'.*v % division des composants terme à terme>>w.^3 % mise à la puissance 3 de chaque composante.>>v=1:5.1:23 % vecteur a incrément constant>>ones(size(v)) % vecteur de même taille que v et contenant des 1>>ones(1,4) % vecteur ligne 4 composantes égales a 1>>3*ones(1,5) % vecteur ligne 5 composantes égales a 3>>zeros(3,1) % vecteur colonne 3 composantes nulles

Exemples

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* La matrice est l'élément de base en MATLAB

* Les scalaires et les vecteurs sont un cas spécial de matrice

* MATLAB vous permet de faire des opérations 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 séparer les colonnes , et « ; » pour définir une

nouvelle ligne.

* On peut définir une matrice dans MATLAB de plusieurs façons :

– par la liste de ses éléments

– en la générant par une suite d’instructions et de fonctions

– en la lisant dans un fichier extérieur.

Les matrices

Page 8: MATLAB

02/05/2013

8

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

>>A=[1,2,3;0,0,atan(1);5,9,-1]; % une manière de définir une matrice 3 x 3>>A=[1 2 3>> 0 0 atan(1)>> 5 9 -1] % une autre syntaxe pour faire la même chose>>A=[1 2 3...>>0 0 atan(1)...>>5 9 -1] % à ne pas confondre avec ce groupe d'instructions>>v=1:5;W=v'*v % multiplication de matrices>>W(1,:) %extraction de la première ligne>>A=eye(3,3) % Matrice identité>>B=toeplitz([2,1,0,0]) % une matrice de Toeplitz>>A=rand(1,5) % crée un vecteur ligne contenant 5 nombres repartis

aléatoirement entre 0 et 1>>Zeros(m,n) %créer une matrice de m lignes et n colonnes de zéros>>ones(m,n) %créer une matrice de m lignes et n colonnes de 1>> sparse(i,j,s) %une matrice condensée tous les éléments sont nuls sauf

ceux indiqués par les indices i et j>>find(A>0.5) % renvoie les indices des composantes de A >0.5>>find(A) % renvoie les indices des composantes de A différentes de 0>>find(A==0.2) % renvoie les indices des composantes de A égales a 0.2>> det(A) % déterminant

Exemples

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Les opérateurs

, sépare les éléments sur la même ligne (ou sépare les colonnes), elle peut être remplacé par un espace

; sépare les éléments sur la même colonne, ou sépare les lignes

‘ transposé d’un vecteur ou une matrice

( ) les arguments passés à une fonction sont entre parenthèses, ou pour se référer à un élément d’une matrice ou une cellule

[ ] utilisés pour créer des matrices ou pour enchainer plusieurs matrices

{ } utilisés pour créer des cellules

‘’ Pour former une chaine de caractère

: Il génère un vecteur ligneLa forme générale est [début : incrément : fin], l’incrément peut être non-entier ou même négatif

= = égale dans un test logique

~ ce signe signifie NON dans un test logique

~ = différent

> = supérieur ou égale

Page 9: MATLAB

02/05/2013

9

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

| ‘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)

% début d’un commentaire dans une fonction

@() crée une fonction outils

… continue la fonction à la ligne suivante (dans l’éditeur 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

.* ./ .\ .^ opérations sur les matrices élément par élément (A. /B=B.\A)

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Comme la plupart des langages de programmation, MATLAB possède plusieurs structures de

contrôle

L'expression if…else…

L'expression switch

La boucle for

La boucle while

Les structures de contrôle

Page 10: MATLAB

02/05/2013

10

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* Il est possible de créer un programme MATLAB, connu sous le nom de «fichier .m»

(«m.file»).

* Il s’agit, à l’aide de l’éditeur de MATLAB (Menu « File → New → M-file »), de créer un

fichier en format texte qui contient une série 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 fenêtre des commandes

>> nom_de_fichier

* Les commandes qui y sont stockées seront alors exécutées.

Les programmes MATLAB

Les programmes et les fonctions MATLAB (fichiers .m)

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* Les fichiers ‘‘.m’’permettent d'écrire du code mais aussi des fonctions.* Le concept de fonction en MATLAB est similaire aux fonctions avec d’autres langages deprogrammation, i.e. une fonction prend un/des argument(s) en entrée et produit un/desargument(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 définie par MATLAB sont en minuscule* Les arguments doivent être passés à la fonction entre parenthèses, mais la fonction peut nepas accepter d’argument* Si la fonction génère plusieurs sorties, celles-ci doivent être incluses entre crochets.* Si aucune sortie n’est spécifiée, la fonction donne le premier résultat trouvé (s’il existe).

Les fonctions MATLAB

Page 11: MATLAB

02/05/2013

11

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

clc : efface le contenu de la fenètre des commandes mais n’efface pas les variables

clear x : efface le variable « x » de l’espace de travail

* on peut sélectionner plusieurs variable avec * (remplace une chaine de

caractère), ou ? (remplace un seul caractère)

clear : efface toutes les variables de l’espace 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 l’espace de travail

which function_name : donne le chemin de la fonction utilisée

Les fonctions basiques

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Les graphiques

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 contrôle des axes et des graphiques sont :

axis Control de l’échelle et l’apparence de l’axe

zoom Zoom avant et arrière sur un graphe 2D

grid Lignes de grille

box Zone de l’axe

hold Tenir le graphe en cour

axes Créer les axes dans des positions arbitraires

subplot Créer les axes dans des positions arbitraires

xlim Limite de X

ylim Limite de Y

Page 12: MATLAB

02/05/2013

12

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* Les fonctions d'annotations du graphique sont :

legend Légende du graphe

title Titre du graphe

xlabel Label de l’axe X

ylabel Label de l’axe Y

text annotation du texte

gtext Placer le texte avec la souris

* Concernant l'impression des graphiques (impression via imprimantes ou dans un fichier) :

print imprimer le graphe.

printopt imprimer par défaut.

orient définir l’orientation du papier.

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* Pour certaines fonctions graphiques (comme plot), le style de courbe, la couleur et le type

de symbole peuvent être précisés directement comme paramètre. Les trois paramètres

(couleur, marker et style de courbe) sont paramétrés chacun par un caractère comme suit :

couleur marker ligney yellow . point - solidm magenta o circle : dottedc cyan x x-mark -. dashdotr red + plus -- dashedg green * starb blue s squarew white d diamondk black v triangle (down)

^ triangle (up)< triangle (left)> triangle (right)p pentagramh hexagram

Page 13: MATLAB

02/05/2013

13

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

* Pour superposer plusieurs tracés ou courbes sur le même graphique, il faut activer la

commande hold.

hold on permet de superposer les tracés

hold off indique que le prochain tracé rafraîchira 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 : sélection du subplot

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

MATLAB comporte une aide ergonomique et performante. On peut l'atteindre de deux manières :* Depuis l'écran principal en allant dans le menu Help→MATLAB help.* En tapant help dans la fenêtre des commandes.

La commande help permet de recevoir des informations sur une fonction :Exemple : >> help plot, >> help function

Site de la société the MathWorkshttp://www.mathworks.com

Page officielle de MATLAB avec des vidéos et des courshttp://www.mathworks.com/acdemia/student_center/tutorials/launchpad.html

Page mathtools qui offre des programmes dans différents domaineshttp://www.mathtools.net/MATLAB/index.html

Fonctions/scripts libres développés pour MATLAB :http://www.mathworks.com/matlabcentral/fileexchange/

Conclusion

Page 14: MATLAB

02/05/2013

14

Introduction Installation Démarrer avec MATLAB Conclusion

Initiation MATLAB Soufien Gannouni

Exemple 1:On note a et b les nombres complexes a=11-7i, b=-1+ 3iCalculer les modules de a et b, les produits ab, ab, la partie réelle et la partie imaginaire de a2+b3Exemple 2 :On note u et v les vecteurs suivants u = (1, 1,2)T , v = (5,-1,2)TCalculer 3u, 2u-v, ||2u-v||1, ||2u-v||Déterminer l’angle 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

Déterminer les valeurs propres de la matrice D.Tester l’expression find (A>0)Exemple 4 :Faire une fonction puis un script qui calcule l’erreur.On rappelle que l’erreur est : Err = (val_exacte-val_calculée)*100/val_exacteExemple 5 :On donne x = [0 :0.05 :4*pi] ; g = cos(x) ; h = sin(x)Tracer les deux graphes de g et h

Exemples

Merci pour votre attention