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 :

optimisation par "logical indexing"


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut optimisation par "logical indexing"
    Bonjour,

    Si j'ai des couples de points comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dp=[1 2;3 4;5 6;7 8;9 10];
    et que je veux ceux dont la première colonne sont inférieur à 8 mais supérieure à 2
    2<dp(:,1)<8 && 4<dp(:,2)<11
    Comment peux-ton demander à matlab de faire çà de manière optimisé ?

    Voici mon code à partir d'un vecteur dp:
    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
    17
    18
    19
    20
    nb_units = 125;
     
    dp=zeros(nb_units,3);
     
    x=randn(nb_units,1);
    y=randn(nb_units,1);
    z=randn(nb_units,1);
     
    for q=1:nb_units
        dp(q,:)=(1/sqrt(x(q)^2+y(q)^2+z(q)^2))*[x(q) y(q) z(q)];
    end
    cond_x = cosd(80);
    cond_z = cosd(80);
     
    id = find(dp(:,1)<cond_x);
    id = find(dp(id,2)<cond_z);
     
    choix = round(length(id)*rand(1));
     
    dir_eye = dp(id(choix),:);
    Merci de votre aide

    Christophe

  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
    Simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dp(dp(:,1)>2 & dp(:,1)<8 & dp(:,2)>4 &dp(:,2)<11, :)
    Ou j'ai pas compris

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    C'est exactement çà...

    Il est tant que je me réveille... lol

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

Discussions similaires

  1. optimisation par index
    Par R.Seif dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 13/04/2010, 00h46
  2. Optimisation par index?
    Par Niak74 dans le forum SQLite
    Réponses: 7
    Dernier message: 10/12/2009, 11h02

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