Matrice avec matlab

Résolu
Bonjour,

J'ai un petit problème; j'ai une matrice A de la forme
12 12
12 12
01 02
03 77
03 77
03 77

je cherche à avoir une matrice B de la forme

12 12
01 02
03 77

et un vecteur u qui indique le nombre de fois qu'apparait chaque ligne, ici dans mon exemple
je veux donc

u=[2;1;3] la ligne [12,12] apparait 2 FOIS, la ligne [01,02] une fois...

Quelqu'un pourrait me dire comment faire ou quelle fonctions utiliser?
Configuration: Windows XP
Firefox 3.0.3

3 réponses

  1. En fait j'arrive à avoir la matrice B avec la commande
    B=unique(A,'rows')

    c'est le vecteur u qui me pose problème
    0
    1. Salut
      [B I J]=unique(A,'rows','first');
      u=sum(repmat(J,1,size(B,1))==repmat((1:size(B,1)),size(A,1),1));
      [k l]=sort(I);
      B=A(k,:);
      u=u(l);
      
      Ciao
      0
      1. Merci pour ta réponse mais j'ai un problème avec la fonction unique

        ??? Error using ==> unique
        Too many input arguments.

        Error in ==> essai at 4
        [B I J]=unique(A,'rows','first');
        0
    2. Salut
      C'est bizarre ça O_o
      T'as quelle version de Matlab ?
      J'ai testé avant de te donner les 5 lignes de code et ça marchait bien.
      0