13
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. Interface graphiques (GUI) Les interfaces graphiques (ou interfaces homme-machine) sont appelées GUI ( Graphical User Interface) sous MATLAB. Elles permettent à l'utilisateur d'interagir avec un programme informatique, grâce à différents objets graphiques (boutons, menus, cases à cocher…). Ces objets sont généralement actionnés à l'aide de la souris ou du clavier. Malgré le fait que les interfaces graphiques semblent secondaires par rapport au développement du coeur d'une application, elles doivent néanmoins être conçues et développées avec soin et rigueur. Leur efficacité et leur ergonomie sont essentielles dans l'acceptation et l'utilisation de ces outils par les utilisateurs finaux. Une interface graphique permet de contrôler une application interactivement avec la souris, plutôt que par lancement des commandes au clavier.

identification par GUI sous matlab

Embed Size (px)

DESCRIPTION

l'utilisation de la GUI sous matlab pour l'identification

Citation preview

Page 1: identification par GUI sous matlab

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.

Interface graphiques (GUI)Les interfaces graphiques (ou interfaces homme-machine) sont appelées GUI

( Graphical User Interface) sous MATLAB. Elles permettent à l'utilisateur d'interagir avec un programme informatique, grâce à différents objets graphiques (boutons, menus, cases à cocher…). Ces objets sont généralement actionnés à l'aide de la souris ou du clavier. 

Malgré le fait que les interfaces graphiques semblent secondaires par rapport au développement du coeur d'une application, elles doivent néanmoins être conçues et développées avec soin et rigueur. 

Leur efficacité et leur ergonomie sont essentielles dans l'acceptation et l'utilisation de ces outils par les utilisateurs finaux. 

Une interface graphique permet de contrôler une application interactivement avec la souris, plutôt que par lancement des commandes au clavier.

Page 2: identification par GUI sous matlab

Conception de l’interface graphique GUI :

Avantage des GUI : La productivité.

Basculer entre plusieurs applications sans perdre beaucoup du temps.

inconvénients

moins rapide et plus gourmand en mémoire.

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

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.

La GUI doit être facile d‘apprentissage et d‘usage : permettre l‘accès à toutes les fonctions et informations de l‘application, tout en gardant la manipulation aussi simple que possible.

Page 3: identification par GUI sous matlab

L’environnement de développement : le GUIDE, Graphical User Interface Development Environment.

Les objets graphiques : hiérarchie, propriétés, identifiantsune hiérarchie pyramidale parent-enfant

Objets Figure

Les objets Figure sont les conteneurs visibles où sont disposés tous les autres objets enfants. Ces objets sont couramment appelés « fenêtres ». Plusieurs objets Figure peuvent être ouverts simultanément et peuvent éventuellement communiquer entre eux.

Page 4: identification par GUI sous matlab

Objets Graphe

Objets Axes

Page 5: identification par GUI sous matlab

Les objets Axes sont les zones de traçage des graphiques (2D ou 3D). Un objet Figure peut contenir plusieurs objets Axes simultanément.

Objets UI

Au même niveau hiérarchique que les objets Axes, on trouve les objets UI (pour User Interface). Certains de ces objets (comme les boutons, les menus, les cases à cocher) permettent à l'utilisateur d'interagir avec l'interface graphique grâce à la souris ou au clavier. D'autres objets (comme les panels, les tables…) servent à la mise en forme de l'interface graphique.

Page 6: identification par GUI sous matlab

Méthodes de développement

Le développement des interfaces graphiques peut être séparé en deux parties :

gestion de la mise en place et des propriétés des objets ; programmation des interactions avec les objets.

Il existe deux méthodes de développement des interfaces graphiques sous MATLAB. La première utilise un outil graphique dédié et la seconde nécessite de programmer entièrement à la main. Nous allons donc aborder chaque méthode dans les chapitres suivants en les illustrant avec un exemple simple. 

Avec GUIDE Avantages

Environnement graphique convivial et intuitif, pour le design comme pour les nombreuses propriétés des objets.

Une seule structure « handles » pour accéder à tous les objets graphiques Actions des objets faciles à programmer grâce aux fonctions callback et createfcn

Debugging et modification facile

Inconvénients

Code de l’initialisation de l’IHM difficile à comprendre Attention au passage aux nouvelles versions Matlab Code partie purement graphique crypté (.fig)

A la main Avantages

Code pour la création des objets relativement simple et accessible Evolution aisée en fonction des versions Matlab utilisées

Inconvénients

Changement de design à éviter absolument Partie actions des objets graphiques plus délicates à programmer Accessibilité aux multiples propriétés des objets fastidieuses

Page 7: identification par GUI sous matlab

avec GUIDE à la main

Développement avec l’outil GUIDE

Présentation

Il est possible de programmer une interface graphique entièrement à la main sous MATLAB. Bien que cette seconde méthode semble beaucoup moins intuitive que celle utilisant le GUIDE, il est important de l'aborder dans cet article. 

Du fait du nombre important d'objets et surtout du nombre des propriétés associées, la programmation « à la main » est généralement déroutante au début. Il est nécessaire de se servir de la documentation MATLAB et de savoir en tirer les bonnes informations. 

Page 8: identification par GUI sous matlab

On peut également s'aider du GUIDE et du Property Inspector pour explorer les propriétés des différents objets.

Le code peut être écrit dans un ou plusieurs fichiers .m (conception modulaire) et l'ouverture de l'interface graphique se fait en lançant simplement le fichier .m principal comme une fonction MATLAB.

Exemple :

Bouton poussoir fig1=figure; bp1= uicontrol ( fig1 , 'style' , 'push' , 'position' , [10 100 60

30 ] ,... 'string' , 'Début' , 'callback' , 'plot(T,X)' )

Ascenseur ou slider fig1=figure; texte1=uicontrol(fig1,'Style','text','String',0,'Position',

[140,70,80,20],'BackGroundcolor','w'); slid1=uicontrol(fig1,'style','slider','position', [100,50,150,20] ,

'Min' , -50 , 'Max' , 50 , ... 'callback' , 'set(texte1,''String'', get(slid1 , ''value'' ))' );

Liste de choix choix1 = uicontrol ( gcf , 'Style' , 'popup' , 'String' , 'Haitam|

Hassan|Ismail' , 'Position' , [10 10 100 80] );

Page 9: identification par GUI sous matlab

Graphiques

subplot( 'Position' , [ Xpos Ypos Xtaille Ytaille])

fig1 = figure ; z1 = subplot ( 'Position' , [ .05 .1 .4 .4 ] ) ; plot ( sin( 0: 150)) z2 = subplot ( 'Position' , [ .55 .1 .4 .4 ] ) ; plot ( tan( 0 : 150))

Identifiants des objetsLes fonctions GET et SET permettent d’accéder et de modifier les propriétés de tous les objets

graphiques, via leurs « handle »

Exemple :

% Modification de la couleur de l'objet Axes set(handles.axes1, 'color', rand(1,3));

Développement avec l’outil GUIDEDepuis la version 5.0 (1997), MATLAB possède un outil dédié à la création des interfaces graphiques appelé GUIDE (pour Graphical User Interface Development Environment).

  Présentation

Le GUIDE est un constructeur d'interface graphique qui regroupe tous les outils dont le programmeur à besoin pour créer une interface graphique de façon intuitive. Il s'ouvre,

soit en cliquant sur l’icône , soit en tapant guide dans le Command Window de MATLAB. Le placement des objets est réalisé par sélection dans une boite à outils. Leur mise en place et leur dimensionnement se font à l'aide de la souris.

Page 10: identification par GUI sous matlab

Un double-clique sur un objet permet de faire apparaître le Property Inspector où les propriétés des objets sont facilement éditables. Leurs modifications et la visualisation de ces modifications sont immédiates.

Le GUIDE possède également des outils pour gérer l'alignement des objets et pour créer des barres d'outils ou des menus. 

Une fois l'interface graphique terminée, son enregistrement donne deux fichiers portant le même nom mais dont les deux extensions sont .fig et .m. 

Page 11: identification par GUI sous matlab

Le fichier .fig contient la définition des objets graphiques (positions et propriétés). Ce fichier peut être ouvert ultérieurement avec le GUIDE pour modifier les objets graphiques. 

Le fichier .m contient les lignes de code qui assurent le fonctionnement de l'interface graphique (actions des objets). Ce fichier peut être édité dans le MATLAB Editor pour y ajouter des actions à la main. C'est ce fichier qui doit être lancé pour utiliser l'interface graphique.

A la sauvegarde de l’IHM (GUI sous Matlab), deux types de scripts sont générés automatiquement :

Un fichier avec extension .fig : crypté Un fichier avec extension .m : code matlab pour le développement

SommaireIntroduction.................................................................................................................................................1

Interface graphiques (GUI)..........................................................................................................................1

Conception de l’interface graphique GUI :..................................................................................................2

Etapes de Conception :................................................................................................................................2

L’environnement de développement : le GUIDE, Graphical User Interface Development Environment.....3

Les objets graphiques : hiérarchie, propriétés, identifiants.........................................................................3

Méthodes de développement.....................................................................................................................6

Développement avec l’outil GUIDE..........................................................................................................7

Présentation........................................................................................................................................7

Développement avec l’outil GUIDE..........................................................................................................9

http://www.mathworks.fr/fr/products/sysid/index.html 

http://www.mathworks.fr/fr/help/ident/ug/working-with-the-system-identification-tool-gui.html#bquqels