MATLAB
-
Upload
mohamed-andoulsi -
Category
Documents
-
view
25 -
download
0
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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