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 :

Erreur Index exceeds matrix dimensions pour une boucle itérative [Débutant]


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Erreur Index exceeds matrix dimensions pour une boucle itérative
    Bonjour,

    Je tiens tout d'abord à vous remercier par avance pour votre aide et votre patience.
    Je suis débutant en Matlab donc désolé pour cette question bête, mais même en ayant fouillé dans la FAQ je ne trouve pas de réponse à mon problème.
    J'ai deux variable :
    - Une de valeur (force de vent toutes les 6 minutes)
    - Une de temps (valeur de temps associé toutes les 6 minutes)
    Je souhaiterais sommer mes forces de vent sur une heure ainsi que mon temps (ce qui me donne une force de vent par heure).
    J'ai donc créé la boucle suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    L=length(vent); 
    a=1;
    for i=1:10:L
        venthoraire(a,:) = sum (vent(i:i+10,:));
        tempshoraire(a,:) = tpsnum(i+10,:);
        a=a+1;
    end
    Cependant, quoi que je fasse, j'obtiens l'erreur suivante :
    Index exceeds matrix dimensions
    (je tiens à précisé que j'ai 130564 valeurs par variables).
    Je pense qu'il y a un problème avec le nombre de données en sortie.

    Merci d'avance ! :)

    Lowic09

  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 302
    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 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Lors de la dernière itération, i = L et tu demandes donc :

    Ne vois-tu pas le problème ?

    Tu devrais modifier la borne supérieure de l’itération en conséquence

    D'autre part, le nombre d'éléments dans le vecteur n'est pas un multiple de 10. Il faudra aussi le prendre en compte pour la dernière itération.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre habitué
    Homme Profil pro
    Doctorant LNE Trappes
    Inscrit en
    Mai 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Doctorant LNE Trappes
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 64
    Points : 174
    Points
    174
    Par défaut
    Essaie ceci :

    Code m : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    L=length(vent); 
    a=1;
    for i=1:10:L-10
        venthoraire(a,:) = sum (vent(i:i+10,:));
        tempshoraire(a,:) = tpsnum(i+10,:);
        a=a+1;
    end

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Réponse
    Merci beaucoup !
    Effectivement une fois que vous le dites c'est bien plus évident !

    Encore merci et bonne journée

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

Discussions similaires

  1. Erreur : Index exceeds matrix dimensions.
    Par b_l_o_b_b_y dans le forum MATLAB
    Réponses: 5
    Dernier message: 31/07/2013, 17h58
  2. [input] Erreur "Index exceeds matrix dimensions"
    Par ED2912 dans le forum MATLAB
    Réponses: 10
    Dernier message: 18/01/2012, 12h09
  3. [Débutant] erreur "Index exceeds matrix dimensions"
    Par azertyuio dans le forum Images
    Réponses: 9
    Dernier message: 25/05/2011, 19h14
  4. Message d'erreur "Index exceeds matrix dimensions."
    Par bela1280 dans le forum MATLAB
    Réponses: 1
    Dernier message: 21/04/2007, 13h27
  5. Erreur "Index exceeds matrix dimensions"
    Par usama2 dans le forum MATLAB
    Réponses: 2
    Dernier message: 06/03/2007, 00h34

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