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 :

Traitement de données


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Traitement de données
    Bonjour, je suis nouveau sur ce site, et je dois réaliser un projet dans le cadre de mes études.

    J'ai un fichier de données de précipitations sur une période de 2001 à 2008 et j'aimerai extraire tout d'abord les données année par année, puis calculer des moyennes de précipitation sur chaque mois au sein de l'année choisie..

    Le fichier est du type .xls sous la forme :

    20010128 44.4
    20010217 5.8
    20010227 23.6
    20010302 6.0
    20010308 6.8
    20010431 8.8
    20010501 24.2
    20010502 39.6

    Dates Cumul

    J'ai donc pensé à des conditions booléennes, mais je n'arrive pas à les exprimer.

    Sinon, la solution d'extraire les lignes du fichier manuellement marche mais ce n'est pas le but du programme, car c'est assez long et infaisable avec de plus grosses données..

    J'en viens donc à demander l'aide de quelqu'un qui pourrait m'aider là-dessus..

    Peut-être faut-il changer le format de la date?

    Merci d'avance à toutes personnes qui prendra le temps de lire ce sujet.

    Damien

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 313
    Points : 52 939
    Points
    52 939
    Par défaut
    As-tu au moins réussi à charger les données dans MATLAB avec la fonction XLSREAD ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui j'ai chargé les données avec importdata('nom_fichier.xls'), j'ai donc après extrait mes deux variables qui sont les dates et les cumuls..

    Vous me conseillez plutôt d'utiliser la fonction xlsread?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 313
    Points : 52 939
    Points
    52 939
    Par défaut
    Citation Envoyé par damsgbc91 Voir le message
    Oui j'ai chargé les données avec importdata('nom_fichier.xls'), j'ai donc après extrait mes deux variables qui sont les dates et les cumuls..
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    X = [20010128 44.4
        20010217 5.8
        20010227 23.6
        20010302 6.0
        20010308 6.8
        20010431 8.8
        20010501 24.2
        20010502 39.6]
     
    y = floor(X(:,1)/10000)
     
    uy = unique(y)
    Citation Envoyé par damsgbc91 Voir le message
    Vous me conseillez plutôt d'utiliser la fonction xlsread?
    Peu importe pour le moment.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse.

    J'ai essayé cela, mais ce n'est pas exactement ce que je souhaite..

    En fait, je veux demander à l'utilisateur de choisir une année:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    year=0;
    year=input('On est entrain d analyser le vent de l année AAAA ? ');
    Ensuite, j'aimerai que de manière automatique seules les données de l'année choisie soient conservées.

    J'ai pensé à cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    t=num2str(données_dates);
    if (t>=(year*10^4) & t<((year+1)*10^4));
        %j'aimerai conserver ici les données de l'année choisie
    end
    Par la suite, j'aimerai faire de même pour calculer directement la moyenne des précipitations sur chaque mois de l'année choisi., et avoir pour résultat un vecteur à 12 valeurs.. La fonction mean est je pense celle qui faut utiliser, certainement dans une boucle..

    Avez-vous une idée pour arriver à cela svp?

    En tout cas merci pour vos réponses!

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

    Une solution avec l'indexage logique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    X = [20010128 44.4
        20010217 5.8
        20010227 23.6
        20020302 6.0
        20030308 6.8
        20040431 8.8
        20040501 24.2
        20050502 39.6];
    y = floor(X(:,1)/10000);
    year = 2001;
    X(y == year,2)

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci, ça marche parfaitement pour les années!

    Maintenant, une fois que j'ai mes précipitations sur l'année choisie, pour calculer la moyenne sur chaque mois, comment puis-je faire?

    En utilisant l'indexage logique, les données précisant les dates sont écrasées..

    Puis-je récupérer le numéro des lignes correspondant à l'année dans le fichier, et en repartant du début, manipuler le format de la date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    y=floor(X(ligneA:ligneB,1)-year*10^4)
    for i=1:12
        ????
    end
    Encore merci pour votre aide

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par damsgbc91 Voir le message
    Maintenant, une fois que j'ai mes précipitations sur l'année choisie, pour calculer la moyenne sur chaque mois, comment puis-je faire?
    Si tu récupères une année, tu récupères les 12 mois non ?
    Citation Envoyé par damsgbc91 Voir le message
    En utilisant l'indexage logique, les données précisant les dates sont écrasées..
    Non, qu'est-ce qui te fait dire cela ? Parce que tu n'as que la deuxième colonne qui s'affiche avec mon code ? C'est tout à fait normal :

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Après avoir choisi l'année, par exemple:

    > year = 2001

    J'aimerais avoir automatiquement la moyenne des cumuls pour le mois de janvier, février.... jusqu'à décembre, soit un vecteur à 12 valeurs.

    Comment puis-je faire pour calculer cela, au sein de l'année 2001 dans mon exemple?

Discussions similaires

  1. [MySQL] PB traitement de données !
    Par Tr@nkill dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/04/2006, 11h36
  2. [Formulaires] Traitement des données dans une autre page...
    Par sekiryou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2006, 09h08
  3. [PHP-JS] Traitement des données dans une autre page...
    Par sekiryou dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2006, 09h06
  4. traitement des données avant envoie dans MySQL
    Par italiasky dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 07/02/2006, 22h50
  5. Programmation pour traitement de données
    Par benbois dans le forum Langages de programmation
    Réponses: 16
    Dernier message: 19/10/2005, 17h01

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