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 :

Indexation 2D sur rangées


Sujet :

MATLAB

  1. #1
    Membre averti
    Homme Profil pro
    Ingénierie en automatisation et systèmes intelligents
    Inscrit en
    Septembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénierie en automatisation et systèmes intelligents
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 40
    Par défaut Indexation 2D sur rangées
    Bonjour,

    Probablement que la réponse est toute bête.

    J'ai une matrice MxN et un vecteur colonne Nx1. Je veux obtenir les valeurs de la matrice MxN aux index du vecteur Nx1.

    Exemple :

    Si j'ai :

    1,2,3,4,5
    6,7,8,9,0

    et

    2
    4

    Alors j'obtiens

    2
    9

    Puisque 2 est la 2e valeur de la rangée 1 et 9 est la 4e valeur de la rangée 2.

    J'aimerais y arriver autrement que de cette façon par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    clear all;
    close all;
    clc;
     
    pop = [1,2,3,4,5,6;...
        6,5,4,3,2,1;...
        1,6,2,5,3,4;...
        1,4,2,5,3,6]
     
    popt = pop';
     
    ridx = [1;2;3;4]
     
    ridx = ridx + [0:3]'*6;
     
    popt(ridx)
    En fait, au début, j'ai aveuglément fait : pop(:,[1;2;3;4])

    C'est une question de débutant, mais je me bute sur une façon simple pour faire une indexation par rangées.

    PS : Le code ci-haut n'est qu'un exemple, "pop" peut être une matrice énorme et "ridx" est aléatoire.

    Merci,

    Éric

  2. #2
    Membre averti
    Homme Profil pro
    Ingénierie en automatisation et systèmes intelligents
    Inscrit en
    Septembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénierie en automatisation et systèmes intelligents
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 40
    Par défaut
    Bon, voici ma nouvelle technique. Je n'ai pas testé sa rapidité, mais elle est simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pop(ones(4,1)*(1:6)==[1;2;3;4]*ones(1,6))
    En attendant vos conseils et suggestions.

Discussions similaires

  1. propriété Count sur Range
    Par pierrOPSG dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2006, 23h36
  2. [SQL2K][TSQL] Trouver les indexs portant sur une colonne
    Par maitrebn dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 29/08/2006, 23h09
  3. list index out of range
    Par watcha2020 dans le forum Général Python
    Réponses: 2
    Dernier message: 29/06/2006, 09h59
  4. [index] performance sur une recherche descendante
    Par jean-jacques varvenne dans le forum Oracle
    Réponses: 16
    Dernier message: 15/01/2005, 10h22

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