IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Tableau dynamique avec heure [Débutant]


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut Tableau dynamique avec heure
    Bonjour à tous,

    Je voudrais créer un tableau dynamique. J'ai pensé a utiliser uitable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    f = figure('Position',[100 200 400 150]);
    cnames = {'Luminosité','Pluie','Brouillard','Vent'};
    t = uitable('Parent',f,'ColumnName',cnames,... 
                'Position',[20 20 360 100]);
    Mon but est d'entrer 4 valeurs (de 4 variables) dans ce tableau toute les minutes. Pour cela, je pense utiliser la fonction:
    Pour les titres des lignes, je pense utiliser la même fonction, afin de mettre l'heure et la date à gauche du tableau.

    J'aimerais que la dernière ligne ajoutée soit en fait la première. Donc le plus récent est en haut du tableau, le plus vieux en bas.

    Comment insérer des lignes de cette façon la? Comment faire apparaitre l'heure en titre de ligne?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il te suffit d'utiliser les propriétés 'Data' et ''RowName' de ton objet Uitable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    t = uitable(...);
     
    set(t, 'Data', Data,...
        'RowName', RowName)
    Data et RowName sont les variables dans lesquelles tu stockes au fur et à mesure les valeurs de tes lignes et les heures.
    Une simple concaténation de la forme : Data = [newData ; Data]; permettra d'ajouter les valeurs en première ligne.
    Dernière modification par Invité ; 23/05/2012 à 17h56.

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Je n'y arrive pas, rien ne se passe..

    Par exemple si je veux y ajouter les variables a, b, c, d au tableau je m'y prend comment?

    J'ai essayé de faire ca entre autre, mais rien ne se passe..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    newData =  {a, b, c, d;...
        };
    Data = [newData ; Data];
    Je devrais faire la même manip pour ajouter une ligne? Sachant que ce sera les mêmes variables mais qu'elles auront changé..

    Autre chose, est ce que le décalage sera possible? C'est à dire passer la première ligne en deuxième lorsqu'une nouvelle ligne est créée et ainsi de suite..

    Merci pour ton aide en tout cas..

  4. #4
    Invité
    Invité(e)
    Par défaut
    La mise à jour du tableau se fait avec la fonction set, ce n'est pas seulement en changeant les variables qui sont utilisées.

    Pour le changement de ligne, j'ai déjà répondu

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Ok merci, je viens de réussir à faire le principe du programme.

    Par contre, il me reste un petit soucis, je voudrais qu'il se mette à jour toutes les minutes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    a=1;
    b=2;
    c=3;
    d=4;
    se = datestr(now, 'SS');
     
    RowName = datestr(now, 'MM');
     
    Data =  {a,b,c,d;...
        };
     
    newData =  {a,b,c,d;...
        };
     
     
    f = figure('Position',[100 200 400 150]);
    cnames = {'Luminosité','Pluie','Brouillard','Vent'};
    t = uitable('Parent',f,'ColumnName',cnames,... 
                'Position',[20 20 360 100]);
    while (1)
        if (se==00)
    a=a+1;
    b=b+1;
    c=c+1;
    d=d+1;
    newData =  {a,b,c,d;...
        };
    Data = [newData ; Data];
     
    set(t, 'Data', Data,...
        'RowName', RowName);
        end
    end
    J'ai donc mis une boucle while et un if pour que l'ajout d'une ligne soit effective à chaque fois que le compteur des secondes passe à 0. Le soucis c'est que Matlab plante, il se met en "busy" et n'affiche pas le tableau, surement à cause de la boucle while. Il y a t'il une autre facon de faire avec cette boucle while? Ou un autre moyen?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Ma29200 Voir le message
    Ou un autre moyen?

  7. #7
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'un tableau dynamique avec "rich:columns"
    Par Seiphir0the dans le forum JSF
    Réponses: 2
    Dernier message: 26/05/2009, 21h52
  2. Création tableau dynamique avec php
    Par yasinfo dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2008, 15h28
  3. tableau dynamique avec surlignement de la ligne
    Par hartecel dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 11/07/2008, 12h17
  4. [Tableaux] Tableau dynamique avec php
    Par Ricus28 dans le forum Langage
    Réponses: 3
    Dernier message: 01/08/2006, 23h46
  5. Création d'un tableau dynamique avec XSL-FO
    Par lionelbrizuela dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/01/2006, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo