Calcul distance de séquences

Bonjour,

Je travaille sur des fichiers de séquences de cette forme:

0 5 6 5 6 3 5 4 2 1 0

0 4 3 4 3 4 3 2 5 6 3 2 4 5 2 6 3 4 2 0

Vous l'aurez compris toutes ses séquences sont différentes tant au niveau de la longueur qu'au niveau de leur composition.

J'ai aussi à ma disposition une matrice qui me donne une longueur pour chaque segment de la séquence (voir fichier joint)

Mon fichier est composé de 80 séquences et j'aimerais pouvoir de manière automatisée calculer la longueur de chaque séquence en fonction de cette matrice. Par exemple pour la première séquence citée ça donnerait:

Distance = 05+ 56+ 65+ 56+ 63+ 35+ 54+ 42+ 21+ 10

Distance = 263,98 + 256,61 + 256,61 + 256,61 + 568,24 + 422,44 + 112,73 + 261,8 + 97,8+ 162,3 = 2659,12

Merci d'avance pour vos réponses.

268sans-titre.tiff (58.90 Ko)

Bonjour,

L'idéal serait de passer par une macro, mais en attendant, tu peux tester la méthode en PJ.

On va chercher la valeur de chacun des couples dans la matrice, puis on additionne toutes les valeurs.

La zone verte possède donc moitié moins de colonnes que la séquence la plus longue.

La formule est la suivante :

=DECALER(Feuil1!$B$2;INDIRECT(ADRESSE(LIGNE();(COLONNE()-21)*2));INDIRECT(ADRESSE(LIGNE();(COLONNE()-21)*2-1)))

avec 21 qui correspond au numéro de la première colonne de la zone verte moins 1 (Ici, colonne V, donc 22, -1=21), et Feuil1!$B$2 la cellule de la matrice contenant la première valeur.

En anglais, ça devrait donner :

=OFFSET(Feuil1!$B$2,INDIRECT(ADDRESS(ROW(),(COLUMN()-21)*2)),INDIRECT(ADDRESS(ROW(),(COLUMN()-21)*2-1)))

19distances.xlsx (16.16 Ko)

Bonjour Oyobrans,

Merci beaucoup pour cette formule. Malheureusement le problème est que la somme totale n'est pas la bonne car il manque les répétitions de segments.

Malheureusement le problème est que la somme totale n'est pas la bonne car il manque les répétitions de segments.

C'est-à-dire ?

Je n'ai pas répété les mêmes valeurs pour 56 et 65 par exemple, histoire d'aller vite pour produire une matrice, mais appliqué à la tienne, ça devrait fonctionner, non ?

Grâce à votre formule on obtient les différentes distance de segment, mais dans les séquences les segments apparaissent plusieurs fois par exemple lorsqu'on a 5656 il devrait y avoir 3 * distance du segment 56.

lorsqu'on a 5656 il devrait y avoir 3 * distance du segment 56.

5656 -> 2 fois et 565656 -> 3 fois non ? Je ne comprends pas le problème...

J'aurais aimé que cela soit automatisé

SALUT

regarder ça

21sequence.xlsm (18.51 Ko)
Rechercher des sujets similaires à "calcul distance sequences"