Bonjour à tous,
Soit un vecteur "a" de nombre entiers, l'objectif recherché par le code suivant est de rechercher le nombre occurrence de tous les nombres pris successivement. Exemple
le résultat recherché est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 a = [1 1 1 2 2 5 3 1 1 4 4 4 8 9 5 5 8 5 5 1] ; trois uns, deux deux, un cinq, un trois, ...
Le programme est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 3 1 2 2 1 5 1 3 2 1 3 4 1 8 1 9 2 5 1 8 2 5 1 1
Je veux solliciter votre expérience en matlab, pour chercher une autre solution plus simple (version vectorisée) de ce programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 a = [1 1 1 2 2 5 3 1 1 4 4 4 8 9 5 5 8 5 5 1] ; vcm(1, 1) = 1 ; vcm(1, 2) = a(1) ; for i=2:length(a) if a(i-1) == a(i) vcm(end, 1) = vcm(end, 1) + 1; else vcm(end+1, 1) = 1; vcm(end , 2) = a(i) ; end end
Est-ce que c'est possible ?
Partager