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 :

remplissage des cellarray par des éléments d'un vecteur


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Expert sécurité informatique
    Inscrit en
    Novembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 3
    Points : 4
    Points
    4
    Par défaut remplissage des cellarray par des éléments d'un vecteur
    Bonjour


    Je suis débutante en MATLAB et je souhaite que quelqu'un peut me faire une faveur et m'aider à résoudre mon problème

    j'ai un vecteur v et un autre vecteur de poids 'p' associé à v
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v=[1 4 3 2 5]; p=[10 3 13 20 5]
    et deux cellarray vides E{1}=0 et E{2}=0

    JE vais commencer par remplir E{1}par les éléments de v (par ordre) qui ont la somme de leur poids ne dépasse pas P=27, puis je vais remplir E{2} par le reste des éléments si la somme de leur poids ne dépassant pas P=27 aussi ou bien Px2 =54 si on utilise la fonction cumsum.

    autrement on doit obtenir comme résultats: E{1}=[1 4 3 ], E{2}=[2 5]

    J'ai commencé par ce code comme premier essai mais il m'a pas donné le résultat voulu


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for i=1:length(v)
    E{1}=0
    while (cumsum(p(1,i))<=17)
    E{1}=i
    i=i+1
    end
    end

    Merci infiniment d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2019
    Messages : 90
    Points : 254
    Points
    254
    Par défaut
    Bonjour,

    D'une manière générale :
    - Exécute le programme ligne à ligne pour voir ce qui fonctionne et si les variables prennent les valeurs attendues ;
    - Lis et comprend les messages d'erreur renvoyés par matlab, ils sont généralement relativement clairs et instructifs.
    Cela devrait te permettre de trouver pourquoi (ou au moins où) ton programme plante.

    Plus spécifiquement :
    - la ligne "E{1}=0 ;" fait que E{1} est ré-initialisée à chaque itération de la boucle for (i.e. pour chaque valeur de i), la boucle for est donc inutile et le résultat final ne dépend que de ce qui se passe pour i=length(v)
    - pour donner à une variable chien la valeur de la somme cumulée des i premiers éléments de p, on peut faire :
    chien = sum(p(1:i))
    ou : tempVariable = cumsum(p); chien = tempVariable(i) ;
    - en écrivant E{1}=i, tu mets dans E{1} la valeur de la variable i, c'est à dire 1, 2...
    - pour mettre dans E{1} le kième élément de p, il faut faire E{1}(k)=p(k) ;
    - tu as deux boucles imbriquées, chacune devrait avoir une variable de boucle différente : i pour la for et, par exemple k pour la while.

Discussions similaires

  1. Tracer une courbe à partir des éléments d'un vecteur
    Par User Name dans le forum Langage
    Réponses: 2
    Dernier message: 23/03/2010, 20h55
  2. Concaténation des éléments d'un vecteur
    Par popsmelove dans le forum R
    Réponses: 5
    Dernier message: 14/08/2009, 11h37
  3. Somme des éléments d'un vecteur
    Par acacia dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 16/02/2009, 13h00
  4. remplissage des éléments d'un html depuis un autre et print 'à distance'
    Par j.p.mignot dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/09/2008, 13h46
  5. Empiler des éléments de N vecteurs en Matrice?
    Par maiza_med dans le forum MATLAB
    Réponses: 3
    Dernier message: 28/04/2008, 11h56

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