Créer pas à pas une interafce graphique Matlab

Importer des données tableur

 

Il est souvent pratique d'analyser des données lorsque celles-ci se présentent sous la forme d'un tableur.
A titre d'exemple, on va importer des données d'une feuille de calcul Excel dans une interface graphique.

Cette feuille de calcul comprend deux colonnes L et U, de 31 lignes chacune. Ci-après un extrait que nous avons appelé relevé distance.xlsx:

 

extrait fichier excel

 

L'interface graphique sera principalement composée de deux composants:

un tableau et un bouton appelé "Importer".

Lorsque l'usager va cliquer sur "Importer", la feuille de calcul Excel sera importée et son contenu affiché dans l'interface graphique.

Pour éviter de préciser le chemin complet au moment d'importer la feuille de calcul Excel, il est plus convenable de placer le répertoire dans lequel se trouve ce fichier dans le path Matlab.

Pour ce faire: cliquer sur l'onglet Set path -- puis sur Add Folder dans la fenêtre qui s'ouvre, sélectionner le répertoire dans lequel se trouve votre fichier Excel; valider, puis cliquer sur Save. Fermer la fenêtre de dialogue. Vous pouvez désormais importer votre fichier sans spécifier son chemin complet dans Matlab.

 

Callback du bouton:

Le Callback du bouton "Importer" aura l'allure suivante:

 

 % Callbacks that handle component events
    methods (Access = private)

        % Button pushed function: ImporterButton
        function ImporterButtonPushed(app, event)
            tuto_table  = readtable("relevé distance.xlsx", "Sheet",1);	    
            tuto_table.Properties.VariableNames{1} = 'Distance(cm)';
            tuto_table.Properties.VariableNames{2} = 'Tension(V)';
            app.UITable.Data = tuto_table;
            app.UITable.ColumnName = tuto_table.Properties.VariableNames;
        end
    end

 

Les données de la feuille de calcul Excel, sont stockés dans la variable de type tableau tuto_table grâce à la fonction prédéfinie Matlab readtable().

Puis le contenu de la variable tuto_table est envoyé vers l'élément tableau de la face avant  UITable: app.UITable.Data = tuto_table;
Ensuite, il faut aussi changer les titres des colonnes L et U par:

Distance(cm) et Tension(V).

Avant de réaliser cela, nous allons d'abord afficher les propriétés de la nouvelle table importée; dans la fenêtre de commandes Matlab. On va saisir  la commande suivante suivie de la touche clavier "Entrer":

>> tuto_table = readtable("relevé distance.xlsx","Sheet", 1);

Puis:

>> tuto_table.Properties

Suivie de la touche clavier "Entrer", on obtient:

 

ans = 

  TableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'L'  'U'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

 

Selon ce qui est affiché, VariableNames est une structure qui contient deux éléments L et U, qu' on peut modifier.

Si l'on saisi par exemple :

>> tuto_table.Properties.VariableNames{1}

Puis la touche clavier "Entrer", le résultat suivant sera affiché:

ans =

'L'

Il suffit de désigner l'élément que l'on veut modifier. C'est le rôle des deux instructions:

tuto_table.Properties.VariableNames{1} = 'Distance(cm)';
tuto_table.Properties.VariableNames{2} = 'Tension(V)';

Les noms des deux colonnes seront désormais "Distance(cm)" et "Tension(V)". Pour finir, il faut mettre à jour l'affichage grâce à l'instruction:

app.UITable.ColumnName = tuto_table.Properties.VariableNames;

Pour que ces modifications soient prises en compte.

Si on exécute le programme, puis un clic sur le bouton "Importer" le tableau des données importées depuis une feuille de calcul Excel sera affiché sur la face avant.

Ci-dessous un résumé en vidéo:

 

 

 

D'autres formats de fichiers peuvent aussi être importés dans Matlab, des fichiers .csv ou .txt; il en existe certainement d'autres; voir le site Mathworks.

Ce site web utilise des cookies

Certains d’entre eux sont essentiels pour son fonctionnement et d’autres nous aident à améliorer l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, certaines fonctionnalités du site pourront être défaillantes.