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 :

"Comparer" un vecteur à une matrice sans boucle for


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut "Comparer" un vecteur à une matrice sans boucle for
    Bonjour,

    Ayant du mal à formuler ma question, je vais vous dire ce que je veux faire par un exemple:
    Soit la matrice M = [1 15; 15 20; 20 40];
    Soit le vecteur a = [1 3 7 18 30 35];

    Je cherche une ligne de commande qui me donnerais cet output :
    output = [1 1 1 2 3 3]

    En fait pour chaque valeur de a je cherche à quelle ligne de M cette valeur correspond.
    Comme a(1)=1 est compris entre 1 et 15 qui est la 1ere ligne de la matrice M, on renvoie un 1 (c'est à dire output(1)=1)
    Comme a(4)=18 est compris entre 15 et 20 qui est la 2eme ligne de M, on renvoie un 2. (c'est à dire output(4)=2)
    etc

    J'aimerais faire cela sans for loop si possible.

    Désolé de ne pas avoir réussi à être très claire. Mais j'espere que vous m'aurez comprise et que vous pourre m'aider!

    Merci d'avance,
    nawellee

  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
    Une idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [pasbesoin,output] = histc(a,[M(:,1);M(end)])
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    C'est parfait, merci beaucoup !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/03/2013, 16h48
  2. Remplir la diagonale d'une matrice sans boucle FOR-END
    Par francois_S dans le forum MATLAB
    Réponses: 3
    Dernier message: 30/03/2010, 08h32
  3. Comparaison de deux matrices sans boucle for
    Par zicos dans le forum MATLAB
    Réponses: 8
    Dernier message: 04/05/2007, 18h16

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