MATLAB : Colonne inexistante.
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

MATLAB : Colonne inexistante.



  1. #1
    Banzzz

    MATLAB : Colonne inexistante.


    ------

    Bonjour,


    J'aurais une petite question à vous poser. Je suis actuellement en face d'un problème plutôt simple :
    J'ai une matrice 3D de données 158 x 215 x 10 sur matlab (la fonction size m'indique ces mêmes dimensions) et je voudrais trouver les valeurs aberrantes dans cette matrice (à savoir celles supérieures à 45 pour moi), afin de les corriger.

    Ma matrice s'appelle B, j''ai donc utilisé
    [ I , J , K ] = find ( (B) > 45)

    Mais voilà, matlab me sort :
    I =
    110
    111
    66
    67
    66

    J =
    57
    58
    147
    147
    362 <================= Toutes les autres, ok. Mais celle ci je la trouve ou ?

    K =
    1
    1
    1
    1
    1

    Les 4 premières valeurs s'avèrent être effectivement des valeurs aberrantes quand je vérifie manuellement dans le tableau, mais cette cinquième valeur n'est PAS dans le tableau.
    Du coup, quand je veux corriger automatiquement mes valeurs aberrantes, je me heurte à un problème du type "vous voulez corriger une valeur qui n'existe pas"

    Une idée d'ou vient cette valeur ?

    Merci d'avance !

    -----

  2. #2
    Antoane
    Responsable technique

    Re : MATLAB : Colonne inexistante.

    Bonjour et bienvenue sur Futura,

    L'aide de la fonction find indique :
    [I,J] = find(X,...) returns the row and column indices instead of
    linear indices into X. This syntax is especially useful when working
    with sparse matrices. If X is an N-dimensional array where N > 2, then
    J is a linear index over the N-1 trailing dimensions of X
    .
    Il me semble comprendre que la "362e colonne" est donc la 362-215 = 147e colonne de B(:,:,2). C'est donc B(66, 147, 2) qui est à gérer.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  3. #3
    Banzzz

    Re : MATLAB : Colonne inexistante.

    C'est exact, je viens de vérifier et c'est bien ici que se trouve ma valeur aberrante.
    Je te remercie !... Et m'en vais de ce pas réécrire tout ça !

    Bonne continuation !

Discussions similaires

  1. Supprimer les zeros de chaque colonne d'un matrice sans changer le nombre de colonne avec Matlab
    Par invite03f9a584 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 21/01/2013, 20h20
  2. programmation matlab d'une variation de 5% de chiffres contenus dans une colonne d'un tableau
    Par Piwhy17 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 03/08/2012, 12h00
  3. Bloquer une colonne dans boucle for , Matlab
    Par magali. dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 03/07/2010, 02h34
  4. supprimer colonne matlab
    Par invite1ca7ba4c dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 25/07/2008, 09h52
  5. Effacer une colonne dans une matrice sous Matlab
    Par invitecb054b2d dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 10/01/2005, 18h21