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 :

importer les dates Excel vers MATLAB


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut importer les dates Excel vers MATLAB
    salam alikom , je suis une étudiante en fin d'étude je veux importer un fichier excel qui porte des données en fonction des dates journalières,mensuelles, et annuelles sous la même colonne pour arriver à tracer une courbe explicative des données en fonction des dates , je trouve souvent un problème de lecture des données et le matlab m'affiche chaque fois un message d'erreur , comment je peut résoudre mon problème ?
    exemple:
    pour 1990-1991
    1 décembre j'ai une valeur 12 et le 1 octobre j'Ai 12 et le 1 novembre j'ai 13
    2 décembre j'ai 2 et le 2 octobre 13 et le 2 novembre 14
    pour 1991-1992
    1 décembre j'ai 3 et le 1 octobre j'ai 8 et le 1 novembre j'ai 8
    et ainsi de suite

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

    Pourrais-tu nous en dire plus sur l'erreur que tu obtiens ? Ainsi que le code que tu as utilisé ?
    Pourrait-on aussi avoir un aperçu du fichier ? (Avec des données factices si problème de confidentialité.)

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Mon but c'est d'obtenir une format graphique des données en fonction des dates , mais avant tout il faut convertir les dates de la matrice en des vecteurs pour arriver à la fin à tracer la courbe , j'ai utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [D,Q]=textread('le nom de fichier','sheet');
    C=datenum(D,'yyyymmdd');
    et le message d'erreur est:
    ??? Error using ==> datenum at 174
    DATENUM failed.
    
    Caused by:
        Error using ==> dtstr2dtnummx
        The input cell array must be either a column or a row.
    le classeur ci joint au dessus :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    1972-1973	sept	oct	nov	dec	janv	fev	mars	avril	mai	juin	juil	aout
    Day					T	T	T	T	T	T	T	T
    1					11.6	9.4	7.4	12	23.3	22.3	25.2	27.6
    2					11.9	7.8	8.2	12.3	25.6	20	23.7	24.6
    3					10.8	8	9	12.3	19.1	20.2	24.6	24
    4					10.8	10.9	10.1	10.6	25.3	20.4	22	24.1
    5					11	12.8	9.6	10.3	21.6	21.2	26.4	23.6
    6					9.7	11.7	11.7	12.1	17.3	21	24.7	24.1
    7					8.9	10.2	10.6	17.4	16.2	21.2	24.8	24.2
    8					10.4	13.4	9.7	16.8	15.7	21.3	25.5	24.9
    9					10.6	14	9.1	17.6	16.4	21	26.3	24.2
    10					9.3	12.3	10.3	13.2	14.3	19.8	25.8	23.7
    11					10	9.8	8.1	11.6	15.9	20.1	25.9	25.1
    12					9.9	10	6.7	11.1	15.8	21.3	25.1	25.2
    13					8.9	11.7	10	10.8	14.3	21.2	27	25.8
    14					8.8	9.2	8.9	12.8	14.4	21.7	26.2	25.1
    15					12.9	8.2	8.4	12.2	17.3	21.3	26	24.9
    16					11.9	8.3	8.5	11	18.1	20.8	25.1	25.8
    17					11.5	6.2	9.1	10.8	18.8	22.1	25.8	27.7
    18					11.8	9.3	8.7	10.6	17.6	22.2	24.2	27.1
    19					9.9	7	10.6	13.1	19.4	22.4	24.9	25.9
    20					11.8	6.8	9.2	12.7	20.7	24.2	25.2	25.2
    21					11.8	7.1	14.7	12.2	20.6	22.6	25.4	25
    22					9.5	9.9	17.1	15.2	17.4	19.2	27.1	25.1
    23					8.6	12.4	13.5	13.9	18.7	20.2	25.1	25.6
    24					12.6	13.4	14.3	15.7	19.7	19.9	24.2	28.6
    25					9.7	12.4	13.9	13.5	20.5	21.1	25.7	26.6
    26					10.4	10.4	9.9	14.7	20.3	22.9	24.3	24.6
    27					10.2	9.1	10.4	16.8	19.7	25.2	23.4	23.4
    28					11.9	7.8	-	18.4	20.6	28.2	23.3	24.4
    29					11.8		-	17.2	20.3	27.4	24.6	25
    30					11.5		13.3	17.1	19.1	24.5	23.2	23.8
    31					10.6		11.1		19.5		22.9	22
    1973-1974												
    1	22.6	20.6	15.1	14.3	10.7	10	10.5	14.4	13.7	19.5	24.5	24.9
    2	23.6	20.7	14.8	14.7	10	13.6	11.8	13.9	14.6	18.6	23.8	23.9
    3	22.7	20.8	15.4	7.7	9.7	11.7	12.7	14.4	15.8	19.7	22.8	24.9
    4	23.9	21.8	17	9.8	11.1	10.8	11.3	11.4	16	21.9	21	27.6
    5	24.7	23.1	18.7	9.9	11.9	12.2	7.1	11	15.3	24.2	21.6	26.4
    6	23.8	22.3	18.3	11.5	13.6	12.8	7.9	13.1	15.2	20.6	23.9	25.1
    7	24.6	21.8	15.4	12.4	16.5	12.5	8.4	12.7	13.6	19.9	24.5	25.1
    8	25.7	18.7	13.9	11	14.9	11.1	8.3	12.4	14.3	19.3	23.4	28.2
    9	28	18.3	13.9	8.7	13.7	10.8	12	16.4	13.2	20.1	23.6	24.4
    10	25.3	17.7	14.2	10.1	14.1	11	8.3	17.1	15.7	20.4	23.3	22.9
    11	23.8	18.3	12.8	10.7	12.5	11.5	12	15.3	20.8	19.6	24.3	23.3
    12	23.1	18.5	14.4	11.6	12.9	12.7	12.3	11.7	18.8	19.6	22.3	24.1
    13	22.8	20.1	14.1	11.3	11.7	11.7	10.2	13.2	19.7	21.9	24.5	21.7
    14	28.1	20.1	15.2	13.1	13.9	9.3	9.1	12.1	16.6	20.9	25.2	24.1
    15	25	21.6	16.4	12.9	12.1	10.2	11.7	14.7	16.7	23.1	26.8	24.8
    16	26.3	22.3	14.6	9.2	12.4	13	15.1	12.6	17.5	22.1	27.7	24.6
    17	26.3	19.7	12.8	11.2	11.4	8.9	16.7	11.1	18.2	20.3	25.1	24.5
    18	25.5	20.6	12.2	12.9	11	9.8	13.2	11.3	16.5	20.8	24.2	24.8
    19	23.7	21.7	15.1	13.6	11.3	10.8	17.4	10.8	17.5	21.2	22.7	24.4
    20	23.6	22.7	15.8	14.3	11.8	11.3	22.4	10.8	17.2	21.1	19.8	28.2
    21	26.5	20.9	14.8	13.8	9.6	12.1	13.8	11.3	18.8	20.6	23.1	26.6
    22	24.6	18	13.4	12.8	11.1	10.6	13.3	11.7	20	23.1	22.5	24.6
    23	23.7	15.4	12.8	12.7	11.8	11.8	10.9	14.7	18.2	24.3	22.4	24.3
    24	22.7	17.3	11.8	16.1	11.2	9.7	15.1	13.3	17.5	22.4	21.4	24.3
    25	19.1	15.3	12.3	12.8	11.3	9.3	22	14	17.7	23.2	23.8	23.3
    26	19.7	13.8	15.3	10.9	9.5	9.6	17	14.8	19.2	24.4	21.7	24.3
    27	19.9	16.4	12.6	9.7	11.2	9.7	13.7	18.7	22.4	23.9	23	22.5
    28	20.4	16	11.7	7.5	9.9	10.4	15.2	15.9	22.1	24.3	21.3	23.4
    29	19.5	15.8	9.4	14.4	10.6		17.3	14.1	20.2	25.9	22.9	22.1
    30	23.2	15.4	12.8	13.1	11.8		14.7	12.5	23.3	23.2	23.3	24.4
    31		15		12	11.6		14.6		24		25	24.6
    1974-1975												
    1	-	18	11.9	12.8	10.8	11.9	10.3	10.1	14.7	20.4	24.3	24.5
    2	-	18.1	12.2	13.8	10.4	11.3	11.4	10.8	13.3	18.7	23	26.2
    3	-	20.2	13.6	11.2	10.1	9.2	13.6	9.7	14.6	18.3	22.4	26.8
    4	-	23.4	13.5	9.7	10	11.2	13.3	15.1	12.7	18.6	24.1	25.3
    5	-	21.3	11.2	13.4	8.8	10.6	13.2	14.7	11.6	17.2	22.9	25.7
    6	-	18.1	9.5	12.7	8.8	9.7	13.3	15.3	14.2	17.2	22.5	27.6
    7	24.4	17.2	12.4	12.6	8.2	12.1	12.9	13.2	14.3	18.1	22.6	26.2
    8	22.3	17.5	13.1	11.2	11.8	10.7	11.8	13	14.8	19	26.2	25.3
    9	23.9	19.7	12.2	12.4	11.7	12.1	9.1	12.9	16.1	20.8	24.1	25.6
    10	22.8	19.7	13.2	9.8	11.4	13	11.2	13.2	19.8	20.9	23.9	27.6
    11	24.6	19.3	13	11.3	13.3	12.9	13.2	10	16.5	19.7	23.4	26.6
    12	23.5	18.4	12.2	11.1	11.7	11.2	13	9.4	14.7	20.7	25.2	25.4
    13	24.8	17.5	12.8	11.4	13.2	11.8	10.7	11.6	15.2	19.3	24.4	24.6
    14	23.1	16.1	16.8	11.6	9.6	11.7	10.2	12.2	16.7	19.7	24.7	25.1
    15	22.4	13.8	16.1	11.4	16.6	10.2	11.2	13.7	16.8	21.8	24.3	29.3
    16	23	14.7	17	10.9	15	10.6	11.6	12.8	18.2	21.8	25.9	28.5
    17	23.9	15.3	16.4	10.7	11.6	12	13	14.1	18.4	21.2	29.9	25.3
    18	27.4	18.7	18.3	8.7	10.7	11.8	13.1	14.1	22.3	20.7	29.6	25.4
    19	26.9	17.3	15.7	9.5	11.6	10.9	11.8	16.2	21.9	20.7	25.1	25.8
    20	23.6	18.9	14.4	10.2	10.7	10.2	11.1	14.3	18	19.4	24.2	24.3
    21	21.9	15.6	14.7	10.1	10.7	10	8.2	20.6	17.6	18.9	25.2	25.1
    22	20.1	17	13.3	9.7	9.8	8.6	10	16.1	17.6	22.4	24.8	26.7
    23	21.6	16.5	17	8.9	10.2	8.4	10.4	16.6	18.7	22.5	23.8	22.7
    24	24.5	16.2	14.4	7.2	9.6	9.6	9.4	14.2	17.7	21.8	25.5	20.8
    25	22.9	16.2	15.2	9.9	9.5	8.4	11.1	14.2	16.9	21.2	25.4	22.3
    26	21.3	16.6	13.1	12.4	10.8	7.4	10.6	16.1	16.9	22.3	24.1	19.7
    27	20.5	14.8	13.1	13.4	10.7	10.4	10.9	14.9	17.4	24.4	23.9	22.3
    28	23.2	16.7	16.9	14.6	14.3	9.3	14.2	14.1	21.9	23.3	22.8	22.7
    29	20.6	12.8	13	15	13.8		17.4	15.6	20	25.6	25.8	22.7
    30	18.4	10.3	13.2	14.6	14.1		14.9	15.6	18.8	25.4	25.6	22.1
    31		9.8		12.7	12.9		11.1		-		25.3	22.6

  4. #4
    Invité
    Invité(e)
    Par défaut
    La fonction textread (ou plutôt textscan car obsolète) n'est pas faite pour la lecture de fichiers Excel, c'est la fonction xlsread qu'il faut utiliser.
    Concernant ta ligne avec datenum, tu supposes ici que chaque donnée dans D est sous la forme 'yyyymmdd', soit :
    • yyyy représentant l'année sur 4 chiffres ;
    • mm représentant le mois sur 2 chiffres (complété par un zéro devant si besoin) ;
    • dd représentant le jour sur 2 chiffres (complété par un zéro devant si besoin).

    Or ce n'est pas du tout le cas ici.

    La lecture des données pourra je pense se faire avec une boucle toutes les 31+1 lignes.

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    salut , merci pour l'aide mais que vous pouvez m'expliqué de plus comment je peut faire la boucle ?cordialement

  6. #6
    Invité
    Invité(e)
    Par défaut
    Quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i = 1:32:size(Donnees,1)
     
    end

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    je vous remercie encore une fois pour votre réponse.

  8. #8
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    bonsoir , j'ai essayé de réaliser la boucle for pour la lecture mais je me trompe à chaque fois car je suis débutante à la programmation , quelqu'un peut m'aidez si possible ?!

  9. #9
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    peux-tu nous montrer ce que tu as testé et éventuellement les erreurs que tu obtiens?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  10. #10
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    ok , voilà : j'ai saisie qu'il me faut deux variables à incrémenter le i et le j par exemple , à la première phase j'ai débuté avec le i ,mais ça marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [num, txt, tab] = xlsread('nom du fichier.xls');%lecture des données à partir d'une feuille excel%
     for i=1:31;
    j=1:12;
         Q(i)=same(i,j);
     end;
    xlsread('debit observé.xlsx', Q', 'output_data', 'A1')
    l'erreur obtenue est:
    ??? Error using ==> xlsread at 130
    Sheet argument must a string or an integer

  11. #11
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 881
    Points : 3 429
    Points
    3 429
    Par défaut
    si tu essayes d'écrire dans un xls, xlswrite sera plus adapté ...

  12. #12
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    non , le but c'est d'importer les données et non pas de les stocker dans un classeur . j'ai essayé encore avec cette boucle si quelqu'un peut me corriger s'il vous plait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    clear all
    [num, txt, tab] = xlsread('fichier.xlsx');%lecture des données à partir d'une feuille excel%
     for  k=3;annee=k
         for i=1:31
         for j=1:12
            Q(i,j)=xlsread('fichier.xlsx','B6:M6');
         end
         end
     end
    le message d'erreur est:
    ??? Subscripted assignment dimension mismatch.
    ??? Undefined function or method 'nom du fichier' for input arguments of type 'char'

  13. #13
    Invité
    Invité(e)
    Par défaut
    Cette seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [num, txt, tab] = xlsread('fichier.xlsx');
    importe toutes les données de la première feuille du classeur, de même que celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlsread('fichier.xlsx','B6:M6');
    importe en une seule fois toutes les cellules de B6 à M6. Inutile donc de la faire tourner en boucle.

  14. #14
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    bonjour à tous , j'ai achevé d'importer les données , maintenant j'ai besoin d'une boucle pour calculer la moyenne mensuelle des données , comment faire s'il vous plait?

Discussions similaires

  1. Problème importation heures excel vers matlab
    Par chabacano dans le forum MATLAB
    Réponses: 11
    Dernier message: 25/05/2009, 15h24
  2. [AC-2003] importation de donnée excel vers access : comment optimiser les tables ?
    Par pshd22 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 31/03/2009, 19h17
  3. Importer les données Excel vers Access
    Par accessmounir313 dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/08/2007, 17h05
  4. importer les données excel vers oracle
    Par bnoir dans le forum Oracle
    Réponses: 6
    Dernier message: 17/10/2006, 16h35

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