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 :

Création vecteur dans un 'while loop'


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2021
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Création vecteur dans un 'while loop'
    Bonjour,

    Je rencontre un problème lorsque j'essaye de créer un vecteur qui est compris dans un 'while loop'.
    J'essaye de faire en sorte que sumx soit un vecteur dépendant de m afin de pouvoir faire disp(sumx) et obtenir sumx=[1 5 ... 385].
    Cependant lorsque je fais disp(sumx) cela fait sumx=385.
    Pourquoi sumx prendrait-il uniquement la dernière valeur obetenue? Je pensais que justement sumx(1)=1 jusque sumx(10)=385.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    clear;
    x=(1:10).^2;
    sumx=0;
    k=0;
     
    while k<10;
        k=k+1;
        for m=1:x
     
       sumx(m)=x(k)+sumx(m);
        end
    end
    disp([' The sum of all the ''x'' terms is ' num2str(sumx)]);

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,
    C’est normal car m= toujours 1

  3. #3
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2021
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjour,
    C’est normal car m= toujours 1
    Pourtant le m est cité dans un 'for loop'. Comment puis-je faire pour que m change de valeur à chaque fois que la boucle reprend du début?
    Merci d'avance!

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Un essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    clear;
    x=(1:10).^2;
    sumx=0;
    k=0;
    while k<10;
        k=k+1;
       sumx=[sumx x(k)+sumx(k)];
    end
    disp([' The sum of all the  terms is' num2str(sumx)]);
    Plus simple :

  5. #5
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2021
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par phryte Voir le message
    Un essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    clear;
    x=(1:10).^2;
    sumx=0;
    k=0;
    while k<10;
        k=k+1;
       sumx=[sumx x(k)+sumx(k)];
    end
    disp([' The sum of all the  terms is' num2str(sumx)]);
    Plus simple :
    Je ne comprends pas ce que vous faites là : sumx=[sumx x(k)+sumx(k)]. Que fait le sumx x(k)? Il n'y a rien entre les deux ce qui me perturbe
    Merci pour l'astuce!

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      sumx=[sumx x(k)+sumx(k)].
    sumx est un vecteur
    sumx(k) est l’élément du vecteur sumx de rang k

    sumx=[sumx x(k)+sumx(k)] concatène le vecteur et ajoute l’élément suivant additionné.

  7. #7
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2021
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      sumx=[sumx x(k)+sumx(k)].
    sumx est un vecteur
    sumx(k) est l’élément du vecteur sumx de rang k

    sumx=[sumx x(k)+sumx(k)] concatène le vecteur et ajoute l’élément suivant additionné.
    D'accord merci beaucoup!!

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/06/2021, 12h49
  2. Création objet dans boucle While
    Par phoenixgreg dans le forum Débuter
    Réponses: 10
    Dernier message: 22/12/2015, 16h11
  3. continue; et incrementation dans une while loop !
    Par el_bacha dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2011, 01h23
  4. [PHP-JS] Création array javascript dans un while en php
    Par D_ident_1 dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2007, 11h16
  5. Réponses: 3
    Dernier message: 25/11/2002, 14h15

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