Vous êtes sur la page 1sur 11

Introduction

MATLAB (MATrix LABoratory) est un logiciel bas sur le calcul matriciel. Son noyau est compos de librairies crites au dbut en Fortran puis en C++. Il permet : le calcul numrique. le trac de graphiques. la programmation. linterfaage avec dautres langages (Fortran, C++). le dveloppement dinterface utilisateur (GUI). lutilisation des boites outils (Toolboxes) spcialises.

Interface graphiques (GUI)


Les interfaces graphiques (ou interfaces homme-machine) sont appeles GUI ( Graphical User Interface) sous MATLAB. Elles permettent l'utilisateur d'interagir avec un programme informatique, grce diffrents objets graphiques (boutons, menus, cases cocher). Ces objets sont gnralement actionns l'aide de la souris ou du clavier. Malgr le fait que les interfaces graphiques semblent secondaires par rapport au dveloppement du coeur d'une application, elles doivent nanmoins tre conues et dveloppes 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 contrler une application interactivement avec la souris, plutt que par lancement des commandes au clavier.

Conception de linterface graphique GUI :


Avantage des GUI : La productivit. Basculer entre plusieurs applications sans perdre beaucoup du temps. inconvnients
moins rapide et plus gourmand en mmoire.

Etapes de Conception :
Il clair quil ne suffit pas de sasseoir et de se mettre programmer. Il faut passer par certaines tapes :

Planifier : dfinir le but de linterface Analyse : dfinir le problme rsoudre. (Rassembler les quations mathmatiques ncessaires) Le Cahier de charge : dfinir les fonctions et taches en dtails. (Enumrer les diffrentes taches voulues et rassembler les donnes ncessaires) La Conception : complter le cahier de charge avec les dtails de conception : Dvelopper le design. Exemples dcran (taille des fentres...). Disposition des boutons. Les couleurs, la forme dcriture. La GUI doit tre facile dapprentissage et dusage : permettre laccs toutes les fonctions et informations de lapplication, tout en gardant la manipulation aussi simple que possible.

Lenvironnement de dveloppement : le GUIDE, Graphical User Interface Development Environment.

Les objets graphiques : hirarchie, proprits, identifiants


une hirarchie pyramidale parent-enfant

Objets Figure
Les objets Figure sont les conteneurs visibles o sont disposs tous les autres objets enfants. Ces objets sont couramment appels fentres . Plusieurs objets Figure peuvent tre ouverts simultanment et peuvent ventuellement communiquer entre eux.

Objets Graphe

Objets Axes

Les objets Axes sont les zones de traage des graphiques (2D ou 3D). Un objet Figure peut contenir plusieurs objets Axes simultanment.

Objets UI
Au mme niveau hirarchique 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 grce la souris ou au clavier. D'autres objets (comme les panels, les tables) servent l a mise en forme de l'interface graphique.

Mthodes de dveloppement
Le dveloppement des interfaces graphiques peut tre spar en deux parties : gestion de la mise en place et des proprits des objets ; programmation des interactions avec les objets.

Il existe deux mthodes de dveloppement des interfaces graphiques sous MATLAB. La premire utilise un outil graphique ddi et la seconde ncessite de programmer entirement la main. Nous allons donc aborder chaque mthode 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 proprits des objets. Une seule structure handles pour accder tous les objets graphiques Actions des objets faciles programmer grce aux fonctions callback et createfcn Debugging et modification facile

Inconvnients

Code de linitialisation de lIHM difficile comprendre Attention au passage aux nouvelles versions Matlab Code partie purement graphique crypt (.fig)

A la main Avantages Code pour la cration des objets relativement simple et accessible Evolution aise en fonction des versions Matlab utilises

Inconvnients

Changement de design viter absolument Partie actions des objets graphiques plus dlicates programmer Accessibilit aux multiples proprits des objets fastidieuses

avec GUIDE

la main

Dveloppement avec loutil GUIDE


Prsentation
Il est possible de programmer une interface graphique entirement la main sous MATLAB. Bien que cette seconde mthode 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 proprits associes, la programmation la main est gnralement droutante au dbut. Il est ncessaire de se servir de la documentation MATLAB et de savoir en tirer les bonnes informations.

On peut galement s'aider du GUIDE et du Property Inspector pour explorer les proprits des diffrents objets. Le code peut tre crit dans un ou plusieurs fichiers .m (conception modulaire) et l'ouverture de l'interface graphique se fait en lanant 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' , 'Dbut' , '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] );

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

fig1 z1 = plot z2 = plot

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

Identifiants des objets Les fonctions GET et SET permettent daccder et de modifier les proprits de tous les objets graphiques, via leurs handle Exemple :
% Modification de la couleur de l'objet Axes set(handles.axes1, 'color', rand(1,3));

Dveloppement avec loutil GUIDE


Depuis la version 5.0 (1997), MATLAB possde un outil ddi la cration des interfaces graphiques appel GUIDE (pour Graphical User Interface Development Environment).

Prsentation
Le GUIDE est un constructeur d'interface graphique qui regroupe tous les outils dont le programmeur besoin pour crer une interface graphique de faon intuitive. Il s'ouvre, soit en cliquant sur licne , soit en tapant guide dans le Command Window de MATLAB. Le placement des objets est ralis par slection dans une boite outils. Leur mise en place et leur dimensionnement se font l'aide de la souris.

Un double-clique sur un objet permet de faire apparatre le Property Inspector o les proprits des objets sont facilement ditables. Leurs modifications et la visualisation de ces modifications sont immdiates.

Le GUIDE possde galement des outils pour grer l'alignement des objets et pour crer des barres d'outils ou des menus. Une fois l'interface graphique termine, son enregistrement donne deux fichiers portant le mme nom mais dont les deux extensions sont .fig et .m.

Le fichier .fig contient la dfinition des objets graphiques (positions et proprits). Ce fichier peut tre ouvert ultrieurement 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 lIHM (GUI sous Matlab), deux types de scripts sont gnrs automatiquement : Un fichier avec extension .fig : crypt Un fichier avec extension .m : code matlab pour le dveloppement

Sommaire
Introduction .................................................................................................................................................. 1 Interface graphiques (GUI)............................................................................................................................ 1 Conception de linterface graphique GUI : ................................................................................................... 2 Etapes de Conception : ................................................................................................................................. 2 Lenvironnement de dveloppement : le GUIDE, Graphical User Interface Development Environment. ... 3 Les objets graphiques : hirarchie, proprits, identifiants ......................................................................... 3 Mthodes de dveloppement ...................................................................................................................... 6 Dveloppement avec loutil GUIDE........................................................................................................... 7 Prsentation .......................................................................................................................................... 7 Dveloppement avec loutil GUIDE........................................................................................................... 9

http://www.mathworks.fr/fr/products/sysid/index.html http://www.mathworks.fr/fr/help/ident/ug/working-with-the-system-identification-toolgui.html#bquqels