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 :

insérer des valeurs dans une matrice 3D


Sujet :

MATLAB

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 195
    Points : 101
    Points
    101
    Par défaut insérer des valeurs dans une matrice 3D
    Bonjour,
    Mon objectif consiste à trouver des valeurs sous des conditions dans une matrice 3D et les remplacer par 0 par une autre valeur.
    A titre d’exemple, je veux chercher dans la matrice A les valeurs supérieures à 10 et inférieures à 15 et les remplacer par 0.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    A=5*ones(3,3,3);
    A(2,2,2)=10;
    A(3,2,3)=12;
        % Calcul cpa
        [i,j,k]=find(A(:,:,:)>7 & A(:,:,:)<15);
        a=[i,j,k]';
        idx = sub2ind(size(A),a(1,:),a(2,:),a(3,:));
       A(idx )=0;
    pour le cas d'une matrice 2D, ça marche très bien mais le cas de 3D non.

    Merci

  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
    Ce genre de problème se résout en faisant appel à l'indexage linéaire et à l'indexage logique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    A = 5*ones(3,3,3);
    A(2,2,2) = 10;
    A(3,2,3) = 12;
     
    idx = A(:)>7 & A(:)<15;
     
    A(idx) = 0;
    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
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 195
    Points : 101
    Points
    101
    Par défaut insérer des valeurs dans une matrice 3D
    super !!
    Merci

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

Discussions similaires

  1. insérer des valeurs dans une table
    Par Ryuk- dans le forum Développement de jobs
    Réponses: 13
    Dernier message: 26/06/2012, 16h49
  2. fonction pour sélectionner des valeurs dans une matrice
    Par EaudeRoche dans le forum MATLAB
    Réponses: 4
    Dernier message: 09/03/2012, 11h45
  3. Insérer des lignes dans une matrice
    Par you_go dans le forum Fortran
    Réponses: 2
    Dernier message: 21/08/2009, 12h10
  4. insérer des valeur dans une table via un formulaire
    Par horkets dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 18/07/2008, 20h47
  5. Modifier des valeurs dans une matrice
    Par m4tl4b dans le forum MATLAB
    Réponses: 4
    Dernier message: 04/04/2008, 16h51

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