SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Interfaces graphiques sous Matlab                            Support du cours




                               Support du cours

                      Interfaces graphiques sous Matlab




                             Préparé par : Mr N.Nasri




1                                                         blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                        Support du cours




1 - Introduction :

        MATLAB (MATrix LABoratory) est un logiciel basé sur le calcul matriciel. Son noyau
est composé de librairies écrites au début en Fortran puis en C++. Il permet :
– le calcul numérique.
– le tracé de graphiques.
– la programmation.
– l‘interfaçage avec d‘autres langages (Fortran, C++).
– le développement d‘interface utilisateur (GUI).
– l‘utilisation des boites à outils (Toolboxes) spécialisées.




      MATLAB présente deux modes de fonctionnement :
1. Le mode interactif : exécution des instructions entrées par l‘utilisateur dans la fenêtre de
commande de MATLAB (le Workspace).

2. Le mode exécutif : exécution de ‖programmes‖ ou ‖scripts‖ qui sont des fichiers
regroupant une suite d‘instructions (les fichiers M).




2 - Première utilisation de Matlab :

Une façon efficace de découvrir Matlab est d'utiliser son aide en ligne.
    help : "help" tout seul donne la liste des aides générales possibles.
    helpwin : ouvre une fenêtre et donne accès à une aide détaillée.
    help + nom d’une commande : indique la syntaxe des graphes en 2D.
                   Exemple : >> help plot
   demo : lance une démo générale de Matlab .
   help demos : donne une liste des démos existantes.




2                                                                     blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                        Support du cours


Quelques commandes importantes:

     lookfor + nom de commande : donne une liste de toutes les commandes qui ont un
                rapport avec la nom de commande écrite .

     who et whos : donne les noms de variables présentes dans l‘espace de travail.
     clear : supprime les variables de l‘espace du travail.
     clc : efface l‘écran (sans toucher aux variables !)

     exit ou quit : permet de sortir de Matlab
     CTRL + C : (touches du clavier) permet d‘interrompre un programme (ie : récupérer la
      main).




Format des variables:

x = [4/3 1.2345e-6]

format   short     1.3333                   0.0000
format   short e   1.3333e+000              1.2345e-006
format   short g   1.3333                   1.2345e-006
format   long      1.33333333333333         0.00000123450000
format   long e    1.333333333333333e+000    1.234500000000000e-006
format   long g     1.33333333333333        1.2345e-006
format   bank       1.33                     0.00
format   rat       4/3                      1/810045
format   hex        3ff5555555555555         3eb4b6231abfd271

Nota : on commence d‘abord par définir le format, puis l‘opération à effectuer ou le nombre à
affiché.




3                                                                     blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                             Support du cours


3 - Les matrices dans Matlab :
Création de matrices :
>> A = [a11 …. a1m; …. ; an1 …. anm]   Exemple :   >> A=[1 2 3 4;2 3 4 1;3 4 1 2;4 1 2 3]

Quelques matrices prédéfinies :
>> zeros(i,j)    : donne une matrice de zéros.
>> ones(i,j)      : donne une matrice de uns .
>> eye(i,j)      : donne une matrice identité.
>> rand(i,j) ou >> randn(i,j) : donne une matrice d‘éléments aléatoires.

       - i,j sont des entiers.
      - pour randn : les éléments sont choisis avec la loi normale.




Quelques commandes importantes:
>> A(i, :)      : désigne la iiéme ligne de la matrice A.
>> A(:, j)      : désigne la jième colonne de la matrice A.

>> A(i:j , :) : désigne la sous matrice formées des iiéme et jième lignes de la matrice A.
>> A(:, i:2:j) : désigne la sous matrice formée des colonnes impaires de la matrice A.
               Nota : le 2 est le pas considéré.

>> size(A)            : permet d'obtenir la taille de la matrice A.
>> max (A)            : désigne l‘élément maximal de la matrice A.
>> min (A)            : désigne l‘élément minimal de la matrice A.
>> mean (A)            : désigne la moyenne des éléments de matrice A.
>> median (A)          : désigne la valeur médiane des éléments de matrice A.




>> sort (A )          : tri par ordre croissant des éléments de matrice A.
>> prod (A)           : produit des éléments de matrice A.
>> sum (A)            : somme des éléments de matrice A.
>> expm (A)           : exponentielle de matrice A. (important :A doit être carrée)
>> sqrtm (A)           : racine carrée de la matrice A. (important :A doit être carrée)


4                                                                         blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                           Support du cours



>> inv (A)           : la matrice inverse de A.
>> det (A)           : déterminant de la matrice A. (important :A doit être carrée)
>> eig (A)           : valeurs propres et vecteurs propres de la matrice A.
>> null (A)          : noyau de la matrice A.
>> rank (A)           : rang de matrice A.


Application 1 : Construction élément par élément
Ecrire l‘exemple sous Matlab et commenter le résultat.
Exemple:
>>for i=1:3,for j=1:4, F(i,j)=i+(j-1)*3;end;end;
>> F




4 - Opérations sur les polynômes :
Nota : un polynôme se déclare comme un vecteur qui contient ses coefficients.
Exemple 1 : B(x)=5.X4 +3.X3 +2.X
Sous Matlab : >> B=[5 3 0 2 0]      ou bien : >> B=[5,3,0,2,0]

Quelques commandes importantes:
>> Roots (B)          : racines du polynôme B.
>> polyval (B,x)      : évaluer le polynôme (exp: avant de représenter son graphe).
>> poly (v)           : reconstruit un polynôme à partir de ses racines.




5 – Graphisme dans Matlab :
Gestion des graphiques à 2d :
>> Plot (y)               : représente le graphe de la fonction y.
>> title (‗ expression ‘) : affiche le titre du graphe.
>> Xlabel (‗expression ‘) : affiche l‘étiquette à l‘axe des abscisses.
>> Ylabel (‗expression ‘) : affiche l‘étiquette à l‘axe des ordonnées.




5                                                                        blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                                           Support du cours



>> grid on                          : affiche la grille.
>> grid off                        : masque la grille.
>> hold on                         : affiche une seconde courbe dans une meme figure.
>> clf                             : efface le graphe .
>> stem (y)                         : représente la séquence de données (discrètes) y.


Application :
x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)
legend('sin(x)','sin(x-.25)','sin(x-.5)')


Le style et Couleurs des lignes :
>> plot (x,y,'style_couleur_marker')

• Couleur :      'c',  'm'      'y'    'r'   'g'    'b' 'w'       'k'
              [cyan, magenta, yellow, red, green, blue, white et black].

• Style :     '-'   '--'     ':'         '-.'         Exemple : >> plot (y, ‘linestyle‘,‘—‗) ;

• Marker : '+'      'o'    '*'     ‗x'          ‗s'   'd'     ' ^'   'v'   '>'     '<'      'p'    'h'




Utilisation du Handle :
       Quand Matlab crée des objets, il leurs affecte un identifiant appelé ―handle‖. Ce dernier
est utilisé pour acceder aux propriétés de l‘objet grace aux instructions : ―set ― et ―get ―.

Exemple :
>> x = 1:10;
>> y = x.^3;
>> h = plot(x,y);
Pour changer de couleur , on ecrit :
set(h,'Color','red')
Pour changer le style de ligne , on ecrit :
set(h,'LineWidth', 6);


6                                                                                        blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                           Support du cours


6 - Gestion des Images :
Lire et afficher une Image :   I = imread ('nom_image.ext');
                                   figure, imshow (I)

Redimensionner une Image : J = imresize(I,0.6);
                               figure, imshow (J)        % --- Affichage ---*
                       (Le 0.6 est le facteur d‘échelle)

Retourner une Image :        K = imrotate (I,30);
                                figure, imshow(K)
                           (Le 30 est le facteur d‘échelle)




7 - Gestion de l’audio :
Lecture d‘un son :

>> y = wavread('Nom.wav'); : Nom.wav Fichier qui se trouve dans le dossier Work.
>> wavplay(y, F)            : F représente la fréquence.
                        % (Poser F=20000, puis changer de valeur pour voir son effet).
>> sound(y, F)               : Convertir le signal y en un son.
>> aviread (y)               : lire les fichiers AVI (Audio / Video Interleaved).

Enregistrer un son :
>> wavwrite (y, F, ‗nom_fichier‘)    : sauvegarde le signal y dans un fichier au format Wav.




8 - Programmation en Matlab :
Les fonctions élémentaires :
       Un certain nombre de fonctions élémentaires sont prédéfinies : sin, cos, abs,...

>> x=[0:0.5:pi]
>> sin(x)
>> x=[0:0.2:10]
>> exp(x)




7                                                                       blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                           Support du cours


Fonctions et script :
    Exemple de fonction : écrire ce programme et l‘enregistrer sous nom : trinome.m

    % --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---*

    function r =trinome(a,b,c)
    delta=b^2-4*a*c;
    if delta==0
       r(1)=-b/2;

    else delta > 0
      r(1)=(-b-sqrt(delta))/2*a;
      r(2)=(-b+sqrt(delta))/2*a;

    end
    disp(['delta == ', num2str(delta)]);
    disp(['la solution est ', num2str(r)]);




     Utilisation de la fonction dans un script: écrire ce programme et l‘enregistrer sous
      nom : trinome3.m

     % --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---*
     disp ('Ceci est un script qui calcul des solutions de l''équation a*x^2+b*x+c=0');

     disp ('Donner la valeur de a')
     a=input ('a = ');
     disp ('Donner la valeur de b')
     b=input ('b = ');
     disp ('Donner la valeur de c')
     c=input ('c = ');
     trinome (a,b,c);      % appel de la fonction aux parameters a,b,c



    Remarque :

       Cette fonction ne prend pas en considération le cas ou ( a=0, b=0, c=0=).
       - Modifier trinome2.m afin d‘avoir une solution complète.




8                                                                       blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                           Support du cours


     Exemple de script: écrire ce programme et l‘enregistrer sous nom : trinome2.m

     % --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---*

     disp ('Ceci est un script qui calcul des solutions de l''équation a*x^2+b*x+c=0');

     disp ('Donner la valeur de a')
     a=input ('a = ');
     disp ('Donner la valeur de b')
     b=input ('b = ');
     disp ('Donner la valeur de c')
     c=input ('c = ');

     delta=b^2-4*a*c;
     if delta==0
        r(1)=-b/2;

     else delta >0
       r(1)=(-b-sqrt(delta))/2*a;
       r(2)=(-b+sqrt(delta))/2*a;

     end

       disp (['delta == ', num2str(delta)]);
       disp (['la solution est ', num2str(r)]);




9                                                                       blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                            Support du cours



9 - Conception de l’interface graphique GUI : [Graphical User Interface]

Avantage des GUI : La productivité.
      Basculer entre plusieurs applications sans perdre beaucoup du temps.
(Exemple : dans l‘environnement Windows, passer entre Word, Explorer, Excel, Media
player, .. se fait de manière très rapide).


Etapes de Conception :

        Il clair qu‘il ne suffit pas de s‘asseoir et de se mettre à programmer. Il faut passer par
     certaines étapes :


           Description         Analyse                                          Interface
               Du                Du          Algorithme      Programme          Graphique
            Problème          Problème


      Prendre un cahier et un crayon

         Planifier : définir le but de l‘interface
         Analyse : définir le problème à résoudre.
                     (Rassembler les équations mathématiques nécessaires)
         Le Cahier de charge : définir les fonctions et taches en détails.
           (Enumérer les différentes taches voulues et rassembler les données nécessaires)
         La Conception : compléter le cahier de charge avec les détails de conception :
                                           - Développer le design.
                                           - Exemples d’écran (taille des fenêtres...).
                                           - Disposition des boutons.
                                           - Les couleurs, la forme d’écriture.
               (Ces détails dépendent de votre cible [A qui est destiné votre interface).

      Maintenant on passe à l‘étape de programmation :

         Le Codage : qui ne se termine jamais (ie : il y a toujours des modifications).
         Le Test : tester les différentes fonctions avec différentes « inputs ».
                     (Il conseillé de refaire le test plusieurs fois).




10                                                                        blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                          Support du cours


Principes de Conception :
    Garder à l‘esprit les sept principes qui ont guidé l‘écriture de Windows.

       L’utilisateur doit avoir le contrôle : l‘utilisateur doit sentir que c‘est lui qui à
                       l‘initiative d‘une action au lieu de réagir à l‘ordinateur.

       Etre direct : une image vaut mille mots. (les différentes fonctions doivent être
                        visuellement intuitives).


       La Cohérence : votre interface doit être cohérente avec Windows, l‘utilisateur ne
                      doit pas passer son temps à apprendre votre application( c‘est la
                      cohérence externe).
                      (L‘interface doit présenté une cohérence interne : entre les
                      différentes fenêtres).
                      Exemple : Si le raccourci clavier Ctrl + C : sert à copier dans une
                      fenêtre, il faut pas l‘utiliser pour une autre fonction dans une autre
                      fenêtre.

       Etre magnanime : si l‘on est sur le point d‘effectuer une action qui formatera le
                     disque dur, une boite de dialogue apparaît est prévient de ce qui
                     risque d‘arriver.
                     ie : Toutes les actions de l‘utilisateur doivent être réversible ou
                     corrigible ;et il doit être prévenu à l‘aide des boites du dialogue.

       Du répondant : « faire toujours savoir à l‘utilisateur ce qui se passe » .
                            - Barre de chargement
                            - Boite de dialogue
                            - Indices visuels et sonores
                            - Messages d‘erreur
                            - Changement de la forme du curseur

       De l’esthétique :
                               - Couleur
                               - Design
                               - Disposition des objets

       De la simplicité : la GUI doit être facile d‘apprentissage et d‘usage . ie : permettre
                           l‘accès à toutes les fonctions et informations de l‘application, tout
                           en gardant la manipulation aussi simple que possible.
                           Eviter de trop écrire : écrivez Nom au lieu de Nom du client.
                           (Il faut s‘exprimer avec un minimum de mots sans pour autant
                           perdre en sens).



11                                                                     blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                            Support du cours


Exemple de GUI par programmation :

      On veut reprendre la fonction trinome.m et l‘utiliser dans une interface.
Ecrire ce code et sauvegarder le sous le nom : second_degre.m .

% --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---*
close all
clear all

%création de la fenêtre graphique
figure (1)

% titre principal
txt_principal = uicontrol(gcf, ...
              'style', 'text', ...
             'position',[30 340 500 45],...
             'string',' Calcul des solutions de l''équation : a*x^2+b*x+c=0') ;

% création des zones éditables
ed_a = uicontrol(gcf, ...
           'style', 'edit', ...
           'position',[275 230 100 20])

ed_b = uicontrol(gcf, ...
           'style', 'edit',...
           'position',[275 200 100 20])

ed_c = uicontrol(gcf, ...
            'style', 'edit', ...
            'position',[275 170 100 20])

ed_delta = uicontrol(gcf, ...
            'style', 'edit',...
            'position',[275 110 200 20])

ed_sol = uicontrol(gcf,...
            'style', 'edit', ...
            'position',[275 80 200 20])

% création des boutons
% le bouton Fermer
clabel = 'Fermer'
cpos = [370 30 180 20] ;
ccallback = 'close all ; clear all' ;


12                                                                        blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                          Support du cours



bp_fermer = uicontrol(gcf, ...
           'style', 'push', ...
           'position',cpos,...
           'string',clabel,...
           'callback', ccallback) ;

% le bouton Résolution
clabel = 'Résolution'
cpos = [130 140 180 20] ;

ccallback=['a=str2num(get(ed_a,''string'')),'...
       'b=str2num(get(ed_b,''string'')),'...
       'c=str2num(get(ed_c,''string'')),'...
      'trinome(a,b,c),'...     % le fichier modifié
      'load delta,'...
      'load solution,'...
      'set(ed_delta,''string'',num2str(delta)),'...
      'set(ed_sol,''string'',num2str(r))']

bp_resolution = uicontrol(gcf, ...
                 'style', 'push',...
                 'position',cpos,...
                 'string',clabel,...
                 'callback',ccallback);




Nota :
La fenêtre peut être personnalisé :

Hfenetre= figure (‗Name‘, ‗nom_fenetre‘ , …
                   ‗NumberTitle‘, ‗off‘, …
                   ‗Resize‘ , ‗off‘, …
                   ‗Position‘, [x y largeur hauteur])




13                                                      blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                                   Support du cours




10 - Création d’une interface graphique avec MATLAB GUIDE
        L'environnement GUIDE de Matlab permet de développer des GUI, des interfaces graphiques. Un GUI
est défini dans Matlab par deux fichiers dépendants, respectivement une figure et un script. La programmation
d'un GUI utilise des callbacks, et les échanges de données s'opèrent avec des handlers.

Éléments de base
   - Fiche et composants visuels (aspect visuel).
   - Code définissant fonctionnement de l‘interface (aspect fonctionnement).

Création d’une nouvelle interface
– Ligne de commande MATLAB : tapez « guide »
– Dans la fenêtre « GUIDE Quick Start », choisissez l‘onglet « Create New GUI ».
– Une fiche vierge quadrillée apparaît à l‘écran sur laquelle vous placerez les composants
      visuels de l‘interface graphique.

Palette des composants visuels :

     •   « Push buttons » : (boutons poussoirs)
                Un seul état (stable).
                Identifié avec un court texte (paramètre ‗String‘).
                Événement à traiter: clic ou relâchement du bouton gauche de la souris.

     •   « Checkboxes » : (cases à cocher)
                Deux états possibles.
                Boutons d‘un même groupe sont indépendants (plusieurs options peuvent
                    être sélectionnées simultanément).

     •   « Radio buttons » : (boutons radio)
                 Deux états (comme case à cocher).
                 Boutons d‘un même groupe sont mutuellement exclusifs (une seule option
                     peut être sélectionnée à la fois).

     •   « Frames » : (cadres)
                   Bordure rectangulaire délimitant un groupe de contrôles.

     •   « Static text » : (champ de texte fixe)
                     Affichage de texte.

     •   « Edit text » : (champ de texte éditable)
                    Saisie de texte.
                    Pas pour affichage.



14                                                                              blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                              Support du cours




     •   « Pop-up menus » : (menus déroulants)
                  Choix d‘un item parmi une liste.
                  Seul l‘item sélectionné est affiché.
                  Événement à traiter : item cliqué par la souris.


     •   « Sliders » :   (barres de défilement)
                        Choix d‘une valeur numérique à l‘intérieur d‘un intervalle.
                        Peuvent être orientées horizontalement ou verticalement.
                        Événement à traiter : déplacement de la barre.

     •   « Listboxes » : (listes)
                   Choix d‘un item parmi une liste.
                   Un groupe d‘items, dont l‘item sélectionné, est affiché.
                   Événement à traiter: item choisi par clic de la souris.

     •   Menus : (à partir du MenuEditor)
                   Choix d‘un item parmi une liste d‘options permises ou non.
                   Possibilité de clé de raccourcis.
                   Possibilité de sous-menus.
                   Événement à traiter: item de menu choisi par clic de souris.

     •   Axes :
                    Permet d‘afficher un graphique tracé par MATLAB
                    Permet d‘afficher des fichiers image
                    Événement à traiter: l‘utilisateur clique sur la souris lorsque le curseur se
                     trouve à l‘intérieur des bornes du composant.




15                                                                         blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                          Support du cours




Accès aux données associées aux composants visuels
      À tout objet d'interface, Matlab associe un pointeur qui permet d'accéder aux
propriétés, le handler.

Certains handlers sont déjà définis par défaut :
          gcf : handler de la figure courante (get current figure).
          gca : axes courants de tracé (get current axes).
          gcbf : la figure cliquée (get callback figure).
          gcbo : l'objet qui appelle (celui sur lequel on a cliqué).
          0 : la fenêtre interpréteur Matlab, ou racine.


Certaines instructions nécessitent un handler :
          get et set : respectivement pour lire et pour changer les valeurs des propriétés.
          findobj : pour retrouver le handler d'un objet.
          propedit : pour éditer les propriétés d'un objet.
          delete : pour effacer un objet.




      Exemple de GUI : construire sous GUIDE la fenêtre suivante et l‘enregistrer sous nom :
       second –degre2.m




16                                                                      blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                         Support du cours




Ecrire au niveau du bouton « Résolution » le programme suivant :

     h=findobj (gcbf,'tag','edit_a');
     a=str2num (get (h,'string'));
     h=findobj (gcbf,'tag','edit_b');
     b=str2num (get (h,'string'));
     h=findobj (gcbf,'tag','edit_c');
     c=str2num (get (h,'string'));

     trinome(a,b,c)      % utilisation de la fonction programmée auparavant.

     load delta;
     load solution;
     % --- Affichage -----
     h=findobj (gcbf,'tag','edit_delta');
     set (h,'string',num2str(delta));
     h=findobj (gcbf,'tag','edit_sol');
     set (h,'string',num2str(r));

Modifier le fichier trinome.m en ajoutant ces deux instructions :

     save delta delta;
     save solution r;




17                                                                     blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                                    Support du cours



Annexe :

Exemple       : les vecteurs

Sur un ensemble de notes entre 0 et 20.
 - Calculer le nombre de notes>= 10.
 - Calculer le nombre de notes >=moyenne des notes.

 Le programme :

      disp (' *** N''oubliez pas les crochets ***') ;
      Note = input('Note == ');

      Taille= length(Note);
      Somme=0;

      for i=1:Taille
               Somme=Somme+Note(i);
      end

      moy=Somme/Taille ;
      N10=0;
      Nmoy=0;


     for i =1:Taille
              if Note (i)>=10
                      N10=N10+1;
             end
             if Note (i)>=moy
                      Nmoy=Nmoy+1;
             end
       end

      disp (['nombre de notes sup à 10 :' num2str(N10)]);
      disp (['nombre de notes sup à la moyonne :' num2str(Nmoy)]);




18                                                              blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                               Support du cours




Exemple          : Graphe (légende)


X=0 :0.1 :1
                Sinx en tirets       cosx en couleur rouge

Plot ( x, sinx, ‘-‗, x, cosx, ‘r‘)

Variables               fonctions à représenter

Xlabel (‗ titre‘)   % titre = fonction sinx/cosx
ylabel (‗ titre‘)  % titre = x
legend (‗sinx‘,‘cosx‘,1)    % loin droit haut.
                     2      % loin gauche haut.
                     3      % loin droit bas.
                     4      % loin gauche bas.
                     5      % hors l‘axe du graphe.


Exemple         : diagramme circulaire

x= [100 10 25 45]
detache= [1 0 0 1]
etiquette= {‗investissement‘,‘taxe‘,‘frais‘, bénéfice‘}
pie(x, detache, etiquette)


3D-Looking :
pie3(x, detache, etiquette)




19                                                           blogmatlab.blogspot.com
Interfaces graphiques sous Matlab                       Support du cours




Exercice      :   Paraboloïde

Tracer le paraboloïde d‘équation : z2=x2+y2
 Pour :  50  x  50 et  50  y  50

     Solution 1 : (02 boucles)

      N=50 ;
      x=-N:N ;
      y=-N:N ;
      figure ;
      for k=1:2*N+1
          for l=1 :2*N+1
             z1 (k, l)=sqrt(x (k) ^2+y (l) ^2) ;
          end
      end
      meshc(x,y,z1) ;
      xlabel ('x') ; ylabel ('y') ; zlabel ('z') ;
      title ('Exemple de tracé d‘un paraboloïde');




20                                                   blogmatlab.blogspot.com
Interfaces graphiques sous Matlab      Support du cours




21                                  blogmatlab.blogspot.com

Contenu connexe

Tendances

Programmation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TALProgrammation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TALECAM Brussels Engineering School
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancésmohamed_SAYARI
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
Recurrence relation solutions
Recurrence relation solutionsRecurrence relation solutions
Recurrence relation solutionssubhashchandra197
 
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).vangogue
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statiqueSana Aroussi
 
A complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsA complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsMukesh Kumar
 
Système d’information II - Etude de l'existant.pptx
Système d’information II - Etude de l'existant.pptxSystème d’information II - Etude de l'existant.pptx
Système d’information II - Etude de l'existant.pptxanisanima1
 
6sigma ibtissam el hassani-chapitre1
6sigma ibtissam el hassani-chapitre16sigma ibtissam el hassani-chapitre1
6sigma ibtissam el hassani-chapitre1ibtissam el hassani
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingGopi Saiteja
 
Web-Conférence - Découvrez le Lean Six Sigma
Web-Conférence - Découvrez le Lean Six SigmaWeb-Conférence - Découvrez le Lean Six Sigma
Web-Conférence - Découvrez le Lean Six SigmaXL Groupe
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processusFatima Zahra Fagroud
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
mini projet Codage shannon fano
mini projet Codage shannon fano mini projet Codage shannon fano
mini projet Codage shannon fano ELMEHDYELWARDY
 

Tendances (20)

Tp2 matlab
Tp2 matlab Tp2 matlab
Tp2 matlab
 
Programmation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TALProgrammation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TAL
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancés
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Recurrence relation solutions
Recurrence relation solutionsRecurrence relation solutions
Recurrence relation solutions
 
Os module 2 c
Os module 2 cOs module 2 c
Os module 2 c
 
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
A complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsA complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projects
 
Boost.SIMD
Boost.SIMDBoost.SIMD
Boost.SIMD
 
Système d’information II - Etude de l'existant.pptx
Système d’information II - Etude de l'existant.pptxSystème d’information II - Etude de l'existant.pptx
Système d’information II - Etude de l'existant.pptx
 
6sigma ibtissam el hassani-chapitre1
6sigma ibtissam el hassani-chapitre16sigma ibtissam el hassani-chapitre1
6sigma ibtissam el hassani-chapitre1
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
Web-Conférence - Découvrez le Lean Six Sigma
Web-Conférence - Découvrez le Lean Six SigmaWeb-Conférence - Découvrez le Lean Six Sigma
Web-Conférence - Découvrez le Lean Six Sigma
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
mini projet Codage shannon fano
mini projet Codage shannon fano mini projet Codage shannon fano
mini projet Codage shannon fano
 

Similaire à Ebook matlab

Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfTarakBenslimane
 
Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfTarakBenslimane
 
Mat lab1
Mat lab1Mat lab1
Mat lab1fouadDD
 
Cours 1 bases de matlab 2eme annees
Cours 1   bases de matlab 2eme anneesCours 1   bases de matlab 2eme annees
Cours 1 bases de matlab 2eme anneesTarik Taleb Bendiab
 
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN C
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN CProjet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN C
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN CEnochBidima3
 
mis
mismis
misISIG
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfrezgui10
 
Visual studio
Visual studioVisual studio
Visual studioISIG
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxrezgui10
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfLamissGhoul1
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Cours 4 dessin de graphs 2eme annees
Cours 4   dessin de graphs 2eme anneesCours 4   dessin de graphs 2eme annees
Cours 4 dessin de graphs 2eme anneesTarik Taleb Bendiab
 

Similaire à Ebook matlab (20)

Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdf
 
Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdf
 
Initiation r
Initiation rInitiation r
Initiation r
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Cours de Matlab
Cours de MatlabCours de Matlab
Cours de Matlab
 
Mat lab1
Mat lab1Mat lab1
Mat lab1
 
Cours 1 bases de matlab 2eme annees
Cours 1   bases de matlab 2eme anneesCours 1   bases de matlab 2eme annees
Cours 1 bases de matlab 2eme annees
 
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN C
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN CProjet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN C
Projet.pptx PRESENTATION DU PROJET DE PROGAMMATION EN C
 
TP5_2020.pdf
TP5_2020.pdfTP5_2020.pdf
TP5_2020.pdf
 
mis
mismis
mis
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdf
 
Visual studio
Visual studioVisual studio
Visual studio
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptx
 
Tp3 matlab
Tp3 matlabTp3 matlab
Tp3 matlab
 
Tp01
Tp01Tp01
Tp01
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
courstic2.pptx
courstic2.pptxcourstic2.pptx
courstic2.pptx
 
Chap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptxChap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptx
 
Cours 4 dessin de graphs 2eme annees
Cours 4   dessin de graphs 2eme anneesCours 4   dessin de graphs 2eme annees
Cours 4 dessin de graphs 2eme annees
 

Plus de N NASRI

Activite association errahma bejaia
Activite association errahma bejaiaActivite association errahma bejaia
Activite association errahma bejaiaN NASRI
 
Conversion numérique analogique
Conversion numérique analogiqueConversion numérique analogique
Conversion numérique analogiqueN NASRI
 
Lois fondamentales electricite
Lois fondamentales electriciteLois fondamentales electricite
Lois fondamentales electriciteN NASRI
 
Dimensionnement chauffeau
Dimensionnement chauffeauDimensionnement chauffeau
Dimensionnement chauffeauN NASRI
 
Thérorie salaire
Thérorie salaireThérorie salaire
Thérorie salaireN NASRI
 
Logique0
Logique0Logique0
Logique0N NASRI
 
Humouraugmentation
HumouraugmentationHumouraugmentation
HumouraugmentationN NASRI
 
Fable bureau
Fable bureauFable bureau
Fable bureauN NASRI
 

Plus de N NASRI (9)

Activite association errahma bejaia
Activite association errahma bejaiaActivite association errahma bejaia
Activite association errahma bejaia
 
Conversion numérique analogique
Conversion numérique analogiqueConversion numérique analogique
Conversion numérique analogique
 
Lois fondamentales electricite
Lois fondamentales electriciteLois fondamentales electricite
Lois fondamentales electricite
 
Dimensionnement chauffeau
Dimensionnement chauffeauDimensionnement chauffeau
Dimensionnement chauffeau
 
Thérorie salaire
Thérorie salaireThérorie salaire
Thérorie salaire
 
Math
MathMath
Math
 
Logique0
Logique0Logique0
Logique0
 
Humouraugmentation
HumouraugmentationHumouraugmentation
Humouraugmentation
 
Fable bureau
Fable bureauFable bureau
Fable bureau
 

Dernier

SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurdinaelchaine
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 

Dernier (20)

SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteur
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 

Ebook matlab

  • 1. Interfaces graphiques sous Matlab Support du cours Support du cours Interfaces graphiques sous Matlab Préparé par : Mr N.Nasri 1 blogmatlab.blogspot.com
  • 2. Interfaces graphiques sous Matlab Support du cours 1 - Introduction : MATLAB (MATrix LABoratory) est un logiciel basé sur le calcul matriciel. Son noyau est composé de librairies écrites au début en Fortran puis en C++. Il permet : – le calcul numérique. – le tracé de graphiques. – la programmation. – l‘interfaçage avec d‘autres langages (Fortran, C++). – le développement d‘interface utilisateur (GUI). – l‘utilisation des boites à outils (Toolboxes) spécialisées. MATLAB présente deux modes de fonctionnement : 1. Le mode interactif : exécution des instructions entrées par l‘utilisateur dans la fenêtre de commande de MATLAB (le Workspace). 2. Le mode exécutif : exécution de ‖programmes‖ ou ‖scripts‖ qui sont des fichiers regroupant une suite d‘instructions (les fichiers M). 2 - Première utilisation de Matlab : Une façon efficace de découvrir Matlab est d'utiliser son aide en ligne.  help : "help" tout seul donne la liste des aides générales possibles.  helpwin : ouvre une fenêtre et donne accès à une aide détaillée.  help + nom d’une commande : indique la syntaxe des graphes en 2D. Exemple : >> help plot  demo : lance une démo générale de Matlab .  help demos : donne une liste des démos existantes. 2 blogmatlab.blogspot.com
  • 3. Interfaces graphiques sous Matlab Support du cours Quelques commandes importantes:  lookfor + nom de commande : donne une liste de toutes les commandes qui ont un rapport avec la nom de commande écrite .  who et whos : donne les noms de variables présentes dans l‘espace de travail.  clear : supprime les variables de l‘espace du travail.  clc : efface l‘écran (sans toucher aux variables !)  exit ou quit : permet de sortir de Matlab  CTRL + C : (touches du clavier) permet d‘interrompre un programme (ie : récupérer la main). Format des variables: x = [4/3 1.2345e-6] format short 1.3333 0.0000 format short e 1.3333e+000 1.2345e-006 format short g 1.3333 1.2345e-006 format long 1.33333333333333 0.00000123450000 format long e 1.333333333333333e+000 1.234500000000000e-006 format long g 1.33333333333333 1.2345e-006 format bank 1.33 0.00 format rat 4/3 1/810045 format hex 3ff5555555555555 3eb4b6231abfd271 Nota : on commence d‘abord par définir le format, puis l‘opération à effectuer ou le nombre à affiché. 3 blogmatlab.blogspot.com
  • 4. Interfaces graphiques sous Matlab Support du cours 3 - Les matrices dans Matlab : Création de matrices : >> A = [a11 …. a1m; …. ; an1 …. anm] Exemple : >> A=[1 2 3 4;2 3 4 1;3 4 1 2;4 1 2 3] Quelques matrices prédéfinies : >> zeros(i,j) : donne une matrice de zéros. >> ones(i,j) : donne une matrice de uns . >> eye(i,j) : donne une matrice identité. >> rand(i,j) ou >> randn(i,j) : donne une matrice d‘éléments aléatoires. - i,j sont des entiers. - pour randn : les éléments sont choisis avec la loi normale. Quelques commandes importantes: >> A(i, :) : désigne la iiéme ligne de la matrice A. >> A(:, j) : désigne la jième colonne de la matrice A. >> A(i:j , :) : désigne la sous matrice formées des iiéme et jième lignes de la matrice A. >> A(:, i:2:j) : désigne la sous matrice formée des colonnes impaires de la matrice A. Nota : le 2 est le pas considéré. >> size(A) : permet d'obtenir la taille de la matrice A. >> max (A) : désigne l‘élément maximal de la matrice A. >> min (A) : désigne l‘élément minimal de la matrice A. >> mean (A) : désigne la moyenne des éléments de matrice A. >> median (A) : désigne la valeur médiane des éléments de matrice A. >> sort (A ) : tri par ordre croissant des éléments de matrice A. >> prod (A) : produit des éléments de matrice A. >> sum (A) : somme des éléments de matrice A. >> expm (A) : exponentielle de matrice A. (important :A doit être carrée) >> sqrtm (A) : racine carrée de la matrice A. (important :A doit être carrée) 4 blogmatlab.blogspot.com
  • 5. Interfaces graphiques sous Matlab Support du cours >> inv (A) : la matrice inverse de A. >> det (A) : déterminant de la matrice A. (important :A doit être carrée) >> eig (A) : valeurs propres et vecteurs propres de la matrice A. >> null (A) : noyau de la matrice A. >> rank (A) : rang de matrice A. Application 1 : Construction élément par élément Ecrire l‘exemple sous Matlab et commenter le résultat. Exemple: >>for i=1:3,for j=1:4, F(i,j)=i+(j-1)*3;end;end; >> F 4 - Opérations sur les polynômes : Nota : un polynôme se déclare comme un vecteur qui contient ses coefficients. Exemple 1 : B(x)=5.X4 +3.X3 +2.X Sous Matlab : >> B=[5 3 0 2 0] ou bien : >> B=[5,3,0,2,0] Quelques commandes importantes: >> Roots (B) : racines du polynôme B. >> polyval (B,x) : évaluer le polynôme (exp: avant de représenter son graphe). >> poly (v) : reconstruit un polynôme à partir de ses racines. 5 – Graphisme dans Matlab : Gestion des graphiques à 2d : >> Plot (y) : représente le graphe de la fonction y. >> title (‗ expression ‘) : affiche le titre du graphe. >> Xlabel (‗expression ‘) : affiche l‘étiquette à l‘axe des abscisses. >> Ylabel (‗expression ‘) : affiche l‘étiquette à l‘axe des ordonnées. 5 blogmatlab.blogspot.com
  • 6. Interfaces graphiques sous Matlab Support du cours >> grid on : affiche la grille. >> grid off : masque la grille. >> hold on : affiche une seconde courbe dans une meme figure. >> clf : efface le graphe . >> stem (y) : représente la séquence de données (discrètes) y. Application : x = 0:pi/100:2*pi; y = sin(x); y2 = sin(x-.25); y3 = sin(x-.5); plot(x,y,x,y2,x,y3) legend('sin(x)','sin(x-.25)','sin(x-.5)') Le style et Couleurs des lignes : >> plot (x,y,'style_couleur_marker') • Couleur : 'c', 'm' 'y' 'r' 'g' 'b' 'w' 'k' [cyan, magenta, yellow, red, green, blue, white et black]. • Style : '-' '--' ':' '-.' Exemple : >> plot (y, ‘linestyle‘,‘—‗) ; • Marker : '+' 'o' '*' ‗x' ‗s' 'd' ' ^' 'v' '>' '<' 'p' 'h' Utilisation du Handle : Quand Matlab crée des objets, il leurs affecte un identifiant appelé ―handle‖. Ce dernier est utilisé pour acceder aux propriétés de l‘objet grace aux instructions : ―set ― et ―get ―. Exemple : >> x = 1:10; >> y = x.^3; >> h = plot(x,y); Pour changer de couleur , on ecrit : set(h,'Color','red') Pour changer le style de ligne , on ecrit : set(h,'LineWidth', 6); 6 blogmatlab.blogspot.com
  • 7. Interfaces graphiques sous Matlab Support du cours 6 - Gestion des Images : Lire et afficher une Image : I = imread ('nom_image.ext'); figure, imshow (I) Redimensionner une Image : J = imresize(I,0.6); figure, imshow (J) % --- Affichage ---* (Le 0.6 est le facteur d‘échelle) Retourner une Image : K = imrotate (I,30); figure, imshow(K) (Le 30 est le facteur d‘échelle) 7 - Gestion de l’audio : Lecture d‘un son : >> y = wavread('Nom.wav'); : Nom.wav Fichier qui se trouve dans le dossier Work. >> wavplay(y, F) : F représente la fréquence. % (Poser F=20000, puis changer de valeur pour voir son effet). >> sound(y, F) : Convertir le signal y en un son. >> aviread (y) : lire les fichiers AVI (Audio / Video Interleaved). Enregistrer un son : >> wavwrite (y, F, ‗nom_fichier‘) : sauvegarde le signal y dans un fichier au format Wav. 8 - Programmation en Matlab : Les fonctions élémentaires : Un certain nombre de fonctions élémentaires sont prédéfinies : sin, cos, abs,... >> x=[0:0.5:pi] >> sin(x) >> x=[0:0.2:10] >> exp(x) 7 blogmatlab.blogspot.com
  • 8. Interfaces graphiques sous Matlab Support du cours Fonctions et script :  Exemple de fonction : écrire ce programme et l‘enregistrer sous nom : trinome.m % --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---* function r =trinome(a,b,c) delta=b^2-4*a*c; if delta==0 r(1)=-b/2; else delta > 0 r(1)=(-b-sqrt(delta))/2*a; r(2)=(-b+sqrt(delta))/2*a; end disp(['delta == ', num2str(delta)]); disp(['la solution est ', num2str(r)]);  Utilisation de la fonction dans un script: écrire ce programme et l‘enregistrer sous nom : trinome3.m % --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---* disp ('Ceci est un script qui calcul des solutions de l''équation a*x^2+b*x+c=0'); disp ('Donner la valeur de a') a=input ('a = '); disp ('Donner la valeur de b') b=input ('b = '); disp ('Donner la valeur de c') c=input ('c = '); trinome (a,b,c); % appel de la fonction aux parameters a,b,c Remarque : Cette fonction ne prend pas en considération le cas ou ( a=0, b=0, c=0=). - Modifier trinome2.m afin d‘avoir une solution complète. 8 blogmatlab.blogspot.com
  • 9. Interfaces graphiques sous Matlab Support du cours  Exemple de script: écrire ce programme et l‘enregistrer sous nom : trinome2.m % --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---* disp ('Ceci est un script qui calcul des solutions de l''équation a*x^2+b*x+c=0'); disp ('Donner la valeur de a') a=input ('a = '); disp ('Donner la valeur de b') b=input ('b = '); disp ('Donner la valeur de c') c=input ('c = '); delta=b^2-4*a*c; if delta==0 r(1)=-b/2; else delta >0 r(1)=(-b-sqrt(delta))/2*a; r(2)=(-b+sqrt(delta))/2*a; end disp (['delta == ', num2str(delta)]); disp (['la solution est ', num2str(r)]); 9 blogmatlab.blogspot.com
  • 10. Interfaces graphiques sous Matlab Support du cours 9 - Conception de l’interface graphique GUI : [Graphical User Interface] Avantage des GUI : La productivité. Basculer entre plusieurs applications sans perdre beaucoup du temps. (Exemple : dans l‘environnement Windows, passer entre Word, Explorer, Excel, Media player, .. se fait de manière très rapide). Etapes de Conception : Il clair qu‘il ne suffit pas de s‘asseoir et de se mettre à programmer. Il faut passer par certaines étapes : Description Analyse Interface Du Du Algorithme Programme Graphique Problème Problème Prendre un cahier et un crayon  Planifier : définir le but de l‘interface  Analyse : définir le problème à résoudre. (Rassembler les équations mathématiques nécessaires)  Le Cahier de charge : définir les fonctions et taches en détails. (Enumérer les différentes taches voulues et rassembler les données nécessaires)  La Conception : compléter le cahier de charge avec les détails de conception : - Développer le design. - Exemples d’écran (taille des fenêtres...). - Disposition des boutons. - Les couleurs, la forme d’écriture. (Ces détails dépendent de votre cible [A qui est destiné votre interface). Maintenant on passe à l‘étape de programmation :  Le Codage : qui ne se termine jamais (ie : il y a toujours des modifications).  Le Test : tester les différentes fonctions avec différentes « inputs ». (Il conseillé de refaire le test plusieurs fois). 10 blogmatlab.blogspot.com
  • 11. Interfaces graphiques sous Matlab Support du cours Principes de Conception : Garder à l‘esprit les sept principes qui ont guidé l‘écriture de Windows.  L’utilisateur doit avoir le contrôle : l‘utilisateur doit sentir que c‘est lui qui à l‘initiative d‘une action au lieu de réagir à l‘ordinateur.  Etre direct : une image vaut mille mots. (les différentes fonctions doivent être visuellement intuitives).  La Cohérence : votre interface doit être cohérente avec Windows, l‘utilisateur ne doit pas passer son temps à apprendre votre application( c‘est la cohérence externe). (L‘interface doit présenté une cohérence interne : entre les différentes fenêtres). Exemple : Si le raccourci clavier Ctrl + C : sert à copier dans une fenêtre, il faut pas l‘utiliser pour une autre fonction dans une autre fenêtre.  Etre magnanime : si l‘on est sur le point d‘effectuer une action qui formatera le disque dur, une boite de dialogue apparaît est prévient de ce qui risque d‘arriver. ie : Toutes les actions de l‘utilisateur doivent être réversible ou corrigible ;et il doit être prévenu à l‘aide des boites du dialogue.  Du répondant : « faire toujours savoir à l‘utilisateur ce qui se passe » . - Barre de chargement - Boite de dialogue - Indices visuels et sonores - Messages d‘erreur - Changement de la forme du curseur  De l’esthétique : - Couleur - Design - Disposition des objets  De la simplicité : la GUI doit être facile d‘apprentissage et d‘usage . ie : permettre l‘accès à toutes les fonctions et informations de l‘application, tout en gardant la manipulation aussi simple que possible. Eviter de trop écrire : écrivez Nom au lieu de Nom du client. (Il faut s‘exprimer avec un minimum de mots sans pour autant perdre en sens). 11 blogmatlab.blogspot.com
  • 12. Interfaces graphiques sous Matlab Support du cours Exemple de GUI par programmation : On veut reprendre la fonction trinome.m et l‘utiliser dans une interface. Ecrire ce code et sauvegarder le sous le nom : second_degre.m . % --- calcul des solutions de l'équation a*x^2+b*x+c=0 ---* close all clear all %création de la fenêtre graphique figure (1) % titre principal txt_principal = uicontrol(gcf, ... 'style', 'text', ... 'position',[30 340 500 45],... 'string',' Calcul des solutions de l''équation : a*x^2+b*x+c=0') ; % création des zones éditables ed_a = uicontrol(gcf, ... 'style', 'edit', ... 'position',[275 230 100 20]) ed_b = uicontrol(gcf, ... 'style', 'edit',... 'position',[275 200 100 20]) ed_c = uicontrol(gcf, ... 'style', 'edit', ... 'position',[275 170 100 20]) ed_delta = uicontrol(gcf, ... 'style', 'edit',... 'position',[275 110 200 20]) ed_sol = uicontrol(gcf,... 'style', 'edit', ... 'position',[275 80 200 20]) % création des boutons % le bouton Fermer clabel = 'Fermer' cpos = [370 30 180 20] ; ccallback = 'close all ; clear all' ; 12 blogmatlab.blogspot.com
  • 13. Interfaces graphiques sous Matlab Support du cours bp_fermer = uicontrol(gcf, ... 'style', 'push', ... 'position',cpos,... 'string',clabel,... 'callback', ccallback) ; % le bouton Résolution clabel = 'Résolution' cpos = [130 140 180 20] ; ccallback=['a=str2num(get(ed_a,''string'')),'... 'b=str2num(get(ed_b,''string'')),'... 'c=str2num(get(ed_c,''string'')),'... 'trinome(a,b,c),'... % le fichier modifié 'load delta,'... 'load solution,'... 'set(ed_delta,''string'',num2str(delta)),'... 'set(ed_sol,''string'',num2str(r))'] bp_resolution = uicontrol(gcf, ... 'style', 'push',... 'position',cpos,... 'string',clabel,... 'callback',ccallback); Nota : La fenêtre peut être personnalisé : Hfenetre= figure (‗Name‘, ‗nom_fenetre‘ , … ‗NumberTitle‘, ‗off‘, … ‗Resize‘ , ‗off‘, … ‗Position‘, [x y largeur hauteur]) 13 blogmatlab.blogspot.com
  • 14. Interfaces graphiques sous Matlab Support du cours 10 - Création d’une interface graphique avec MATLAB GUIDE L'environnement GUIDE de Matlab permet de développer des GUI, des interfaces graphiques. Un GUI est défini dans Matlab par deux fichiers dépendants, respectivement une figure et un script. La programmation d'un GUI utilise des callbacks, et les échanges de données s'opèrent avec des handlers. Éléments de base - Fiche et composants visuels (aspect visuel). - Code définissant fonctionnement de l‘interface (aspect fonctionnement). Création d’une nouvelle interface – Ligne de commande MATLAB : tapez « guide » – Dans la fenêtre « GUIDE Quick Start », choisissez l‘onglet « Create New GUI ». – Une fiche vierge quadrillée apparaît à l‘écran sur laquelle vous placerez les composants visuels de l‘interface graphique. Palette des composants visuels : • « Push buttons » : (boutons poussoirs)  Un seul état (stable).  Identifié avec un court texte (paramètre ‗String‘).  Événement à traiter: clic ou relâchement du bouton gauche de la souris. • « Checkboxes » : (cases à cocher)  Deux états possibles.  Boutons d‘un même groupe sont indépendants (plusieurs options peuvent être sélectionnées simultanément). • « Radio buttons » : (boutons radio)  Deux états (comme case à cocher).  Boutons d‘un même groupe sont mutuellement exclusifs (une seule option peut être sélectionnée à la fois). • « Frames » : (cadres)  Bordure rectangulaire délimitant un groupe de contrôles. • « Static text » : (champ de texte fixe)  Affichage de texte. • « Edit text » : (champ de texte éditable)  Saisie de texte.  Pas pour affichage. 14 blogmatlab.blogspot.com
  • 15. Interfaces graphiques sous Matlab Support du cours • « Pop-up menus » : (menus déroulants)  Choix d‘un item parmi une liste.  Seul l‘item sélectionné est affiché.  Événement à traiter : item cliqué par la souris. • « Sliders » : (barres de défilement)  Choix d‘une valeur numérique à l‘intérieur d‘un intervalle.  Peuvent être orientées horizontalement ou verticalement.  Événement à traiter : déplacement de la barre. • « Listboxes » : (listes)  Choix d‘un item parmi une liste.  Un groupe d‘items, dont l‘item sélectionné, est affiché.  Événement à traiter: item choisi par clic de la souris. • Menus : (à partir du MenuEditor)  Choix d‘un item parmi une liste d‘options permises ou non.  Possibilité de clé de raccourcis.  Possibilité de sous-menus.  Événement à traiter: item de menu choisi par clic de souris. • Axes :  Permet d‘afficher un graphique tracé par MATLAB  Permet d‘afficher des fichiers image  Événement à traiter: l‘utilisateur clique sur la souris lorsque le curseur se trouve à l‘intérieur des bornes du composant. 15 blogmatlab.blogspot.com
  • 16. Interfaces graphiques sous Matlab Support du cours Accès aux données associées aux composants visuels À tout objet d'interface, Matlab associe un pointeur qui permet d'accéder aux propriétés, le handler. Certains handlers sont déjà définis par défaut :  gcf : handler de la figure courante (get current figure).  gca : axes courants de tracé (get current axes).  gcbf : la figure cliquée (get callback figure).  gcbo : l'objet qui appelle (celui sur lequel on a cliqué).  0 : la fenêtre interpréteur Matlab, ou racine. Certaines instructions nécessitent un handler :  get et set : respectivement pour lire et pour changer les valeurs des propriétés.  findobj : pour retrouver le handler d'un objet.  propedit : pour éditer les propriétés d'un objet.  delete : pour effacer un objet.  Exemple de GUI : construire sous GUIDE la fenêtre suivante et l‘enregistrer sous nom : second –degre2.m 16 blogmatlab.blogspot.com
  • 17. Interfaces graphiques sous Matlab Support du cours Ecrire au niveau du bouton « Résolution » le programme suivant : h=findobj (gcbf,'tag','edit_a'); a=str2num (get (h,'string')); h=findobj (gcbf,'tag','edit_b'); b=str2num (get (h,'string')); h=findobj (gcbf,'tag','edit_c'); c=str2num (get (h,'string')); trinome(a,b,c) % utilisation de la fonction programmée auparavant. load delta; load solution; % --- Affichage ----- h=findobj (gcbf,'tag','edit_delta'); set (h,'string',num2str(delta)); h=findobj (gcbf,'tag','edit_sol'); set (h,'string',num2str(r)); Modifier le fichier trinome.m en ajoutant ces deux instructions : save delta delta; save solution r; 17 blogmatlab.blogspot.com
  • 18. Interfaces graphiques sous Matlab Support du cours Annexe : Exemple : les vecteurs Sur un ensemble de notes entre 0 et 20. - Calculer le nombre de notes>= 10. - Calculer le nombre de notes >=moyenne des notes. Le programme : disp (' *** N''oubliez pas les crochets ***') ; Note = input('Note == '); Taille= length(Note); Somme=0; for i=1:Taille Somme=Somme+Note(i); end moy=Somme/Taille ; N10=0; Nmoy=0; for i =1:Taille if Note (i)>=10 N10=N10+1; end if Note (i)>=moy Nmoy=Nmoy+1; end end disp (['nombre de notes sup à 10 :' num2str(N10)]); disp (['nombre de notes sup à la moyonne :' num2str(Nmoy)]); 18 blogmatlab.blogspot.com
  • 19. Interfaces graphiques sous Matlab Support du cours Exemple : Graphe (légende) X=0 :0.1 :1 Sinx en tirets cosx en couleur rouge Plot ( x, sinx, ‘-‗, x, cosx, ‘r‘) Variables fonctions à représenter Xlabel (‗ titre‘) % titre = fonction sinx/cosx ylabel (‗ titre‘) % titre = x legend (‗sinx‘,‘cosx‘,1) % loin droit haut. 2 % loin gauche haut. 3 % loin droit bas. 4 % loin gauche bas. 5 % hors l‘axe du graphe. Exemple : diagramme circulaire x= [100 10 25 45] detache= [1 0 0 1] etiquette= {‗investissement‘,‘taxe‘,‘frais‘, bénéfice‘} pie(x, detache, etiquette) 3D-Looking : pie3(x, detache, etiquette) 19 blogmatlab.blogspot.com
  • 20. Interfaces graphiques sous Matlab Support du cours Exercice : Paraboloïde Tracer le paraboloïde d‘équation : z2=x2+y2 Pour :  50  x  50 et  50  y  50 Solution 1 : (02 boucles) N=50 ; x=-N:N ; y=-N:N ; figure ; for k=1:2*N+1 for l=1 :2*N+1 z1 (k, l)=sqrt(x (k) ^2+y (l) ^2) ; end end meshc(x,y,z1) ; xlabel ('x') ; ylabel ('y') ; zlabel ('z') ; title ('Exemple de tracé d‘un paraboloïde'); 20 blogmatlab.blogspot.com
  • 21. Interfaces graphiques sous Matlab Support du cours 21 blogmatlab.blogspot.com