Bonjour,

J'ai des strings :
'BBF43'
'BBF35'
'BBF40'
'BBF40'
'BBF40'
'BBF40'
'BBF37'
'BBF37'
'BBF37'
'BBF37'
J'aimerais compter combien de fois revienne chacun et mettre ca dans un vecteur.

Ce que je veux c'est res = [1 1 4 0 0 0 4 0 0 0]

J'ai fais un algo qui ne fonctionne pas dans tout les cas et notamment celui ci. De plus ce n'est pas optimale.


com ce sont mes compteurs.
resfeeder1 c'est mon tableau d'ou je vais chercher mes strings.

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
 
resfeeder1 = inputArray(:,12)
temp = resfeeder1{1};
temp2 = resfeeder1{2};
temp3 = resfeeder1{3};
temp4 = resfeeder1{4};
temp5 = resfeeder1{5};
temp6 = resfeeder1{6};
temp7 = resfeeder1{7};
temp8 = resfeeder1{8};
temp9 = resfeeder1{9};
temp10 = resfeeder1{10};
 
 
 
 
 
com= [];
com1 = 0;
com2 = 0;
com3 = 0;
com4 = 0;
com5 = 0;
com6 = 0;
com7 = 0;
com8 = 0;
com9 = 0;
com10 = 0;
 
for i = 1:length(resfeeder1)
    if temp == resfeeder1{i,1}
        com1 = com1+1;
    end
        if strcmp(temp2,temp)==0
         if temp2 == resfeeder1{i,1}
             com2 = com2+1;
         end
        else 
            if strcmp(temp2,temp3)==0
             if temp3 == resfeeder1{i,1}
                  com3 = com3+1;
             end
            else
                if strcmp(temp3,temp4)==0
                 if temp4 == resfeeder1{i,1}
                       com4 = com4+1;
                 end
                else
                    if strcmp(temp4,temp5)==0
                     if temp5 == resfeeder1{i,1}
                            com5 = com5+1;
                     end
                    else
                        if strcmp(temp5,temp6)==0
                        if temp6 == resfeeder1{i,1}
                            com6 = com6+1;
                        end
                        else
                             if strcmp(temp6,temp7)==0
                            if temp7 == resfeeder1{i,1}
                                com7 = com7+1;
                            end
                             else
                                  if strcmp(temp7,temp8)==0
                                if temp8 == resfeeder1{i,1}
                                    com8 = com8+1;
                                end
                                  else
                                       if strcmp(temp8,temp9)==0
                                   if temp9 == resfeeder1{i,1}
                                    com9= com9+1;
                                   end
                                       else 
                                            if strcmp(temp9,temp10)==0
                                    if temp10 == resfeeder1{i,1}
                                        com10= com10+1;
                                    end
            end
                                       end
                                  end
                             end
                        end
                    end
                end
            end
        end
 
 
end
    com = [com1 com2 com3 com4 com5 com6 com7 com8 com9 com10]
Si vous voyez mieux et plus simple je suis preneur.
Merci