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 :

Conservation de valeurs


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 48
    Par défaut Conservation de valeurs
    Bonjour à tous, je fais appel à vous car j'ai un problème de programmation.
    J'ai un vecteur A contenant les valeurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    A=[202.996 301.2133 364.2021 422.5349 464.1787 464.184 512.8971 544.1365 567.0613 567.0688 592.4187 592.4763 592.4592 592.5061 592.3851 592.1936 591.5467 617.0379 617.0773 617.0928 617.1088 617.0853 635.9605 635.9691 635.9435 635.9328 648.6363 648.5259 648.4805 653.0731 653.0939 665.7584 665.7771 677.0027 677.0299 680.2976 680.2971 690.6949 698.6613 698.6571 702.312 705.8811 703.0587 704.5696 708.6859 708.624 714 716.3125 719.0027 719.0005 724.1963 723.0219 721.8027 724.5915 722.5595]
    Et je ne voudrais conserver que ces valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    A=[202.9963 301.2133 364.2021 422.5349 464.184 512.8971 544.1365 567.0688 592.5061 617.1088 635.9691 648.6363 653.0939 665.7771 677.0299 680.2976 690.6949 698.6613 702.312 705.8811 703.0587 704.5696 708.6859 714 716.3125 719.0027 724.2219 723.0219 724.5915 722.5595]
    En fait, pour décrire mon problème, il faudrait que je ne garde dans ce vecteur que des valeurs croissantes ET lorsque plusieurs valeurs sont dans la même unité (il n'y a que la valeur de la virgule qui diffère), il faudrait que je ne garde que la plus grande de ces valeurs.

    Merci d'avance pour votre aide

    Cordialement

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Je pense qu'en jouant avec les fonctions SORT, UNIQUE et FLOOR tu devrais pouvoir t'en sortir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    doc sort
    doc unique
    doc floor
    Duf

  3. #3
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 48
    Par défaut
    Le problème, c'est que je ne peux me permettre d'arrondir ces valeurs. Merci pour les pistes, je vais continuer à réfléchir à ce que je pourrais faire avec ça

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Voilà à peu près l'idée que j'avais en tête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Atmp = sort(A);
    [~,idx] = unique(floor(Atmp));
    Atmp(idx)
    A vérifier que ca fait bien ce que tu souhaites et sans doute à améliorer.

  5. #5
    Membre émérite
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Billets dans le blog
    1
    Par défaut
    méthode force brute sans aucune intelligence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    monter = zeros(size(A) ;
    while any(monter<=0)
        monter = [1, diff(A)] ;
        resultat = A(monter>0) ;
    end
    disp (resultat)

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

Discussions similaires

  1. conserver une valeur
    Par mycrodom dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2006, 17h35
  2. Conserver des valeurs quand on ferme le programme
    Par Yepazix dans le forum Langage
    Réponses: 1
    Dernier message: 05/02/2006, 16h59
  3. Conserver la valeur d une liste deroulante
    Par kykyn dans le forum Langage
    Réponses: 14
    Dernier message: 10/11/2005, 15h36
  4. [C#] Conserver des valeurs de propriétés d'une page
    Par elod38 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 11h53
  5. Conserver une valeur dans un champs
    Par zakfa dans le forum IHM
    Réponses: 5
    Dernier message: 04/10/2004, 09h48

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