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 :

Trouver même date dans un tableau de cellules


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut Trouver même date dans un tableau de cellules
    Bonjour à tous,
    j'ai besoin d'aide,
    j'ai un tableau de cellule (4000,3)
    -la première colonne contient une date type yyyy-mm-dd HH-MM-SS
    -la deuxième colonne contient la valeurs min pour la date
    -la troisième colonne contient la valeurs max pour la date

    Je voudrais resynchroniser ces données dans un nouveau tableau, car les dates avec les valeurs ne sont pas toujours dans l'ordre.
    Je crée donc un nouveau tableau avec les date dans l'ordre dans la première colonne.

    puis en suite j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for numDate=1:4000
        for j=1:4000
            date=newtab{numDate,1}; 
            date2=oldtab(j,1); 
            if find(ismember(date,date2))
                newtab(numDate,2)=avg(j,2);
                break;
            end
        end
    end
    Mais mon soucis c'est que c'est vraiment trop long à faire pour MATLAB, deux boucles de 4000 cellules avec des chaines à scruter c'est l'enfer !!
    Sachant que je dois faire ça pour 38 tableaux (j'ai 38 capteurs) j'arrive à un temps d'environs 75min !

    Pouvez vous m'aider

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

    Si je comprends bien, tu peux convertir tes dates de la première colonne en valeurs numériques avec datenum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_num = datenum(datetab(:,1), 'yyyy-mm-dd HH-MM-SS');
    Trier ces valeurs et en ressortir les indices ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [~, idx] = sort(date_num);
    qui permettront d'obtenir ton tableau trié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau_tire = datetab(idx,:);

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Merci pour la réponse, mais je n'ai pas tout compris
    pour faire simple, je met en pièce jointe une image.
    J'ai dans mon tableau de début des dates sauf qu'il y a des trous, sur l'image on voit ça passe de 1h50 à 3h, ile manque les donné de 2h,2h10,2h20,2h30..., donc je voudrais replacé les valeurs que j'ai, dans un nouveau tableau, si il n'y en a pas, je laisse ma case vide.

    Merci beaucoup
    Images attachées Images attachées  

Discussions similaires

  1. [find] Trouver des valeurs dans un tableau de cellules
    Par Pierre845 dans le forum MATLAB
    Réponses: 5
    Dernier message: 22/01/2009, 10h52
  2. Trouver les cellules vides dans un tableau de cellules
    Par ricololo dans le forum MATLAB
    Réponses: 12
    Dernier message: 13/11/2008, 15h11
  3. affichage et calcule de la date dans un tableau
    Par argon dans le forum Interfaces Graphiques en Java
    Réponses: 35
    Dernier message: 22/06/2006, 10h51
  4. Trouver un champ dans un tableau
    Par snaxisnake dans le forum Delphi
    Réponses: 6
    Dernier message: 30/05/2006, 16h37
  5. [JTable] Afficher une date dans un tableau / Renderer
    Par isak dans le forum Composants
    Réponses: 3
    Dernier message: 11/07/2005, 17h09

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