Bonjour à tous, j'essaie de m'écrire un script pour automatiser un minimum le traitement des données que j'obtient après analyses d'échantillons d'eau de mer (Absorbance des phosphates). Je décrit succinctement mon fichier de départ : Pendant une journée je passe entre 30 et 40 échantillons par paquet de 10/15 (séquence) sur une chaîne d’auto analyse, j'obtient donc une série temporelle (temps écoulé depuis le début d'analyse) présentant des "pics" espacés de 4 min 30s (paramétré) dans une même séquence. Le soucis c'est qu'il y a un effet de matrice entre les passages eau de mer et eau MiliQ (effet schlieren). Bref, en soit les valeurs d'intérêts se trouve sur un plateau juste avant le pic (donc je ne peux pas sélectionner ces valeurs de pics).
(à savoir que sur ce graphe j'ai un point toute les 1200 msec (1.2s))
Bon maintenant ma question : je bloque sur la partie pour extraire les valeurs d'absorbance du plateau, pour cela j'ai pensé à faire une boucle pour trouver tous les points (le long de toute la séquence) qui sur 3/4/5 itérations sont identiques mais en enlevant les valeurs en dessous d'un certains seuils (car retour à la ligne de base 0.000 entre certains échantillons/séquences/ etc.. et qui induit des successions de valeurs égales)
De ce fait j'aimerais sortir les valeurs dans un vecteur pour pouvoir les extraire. En espérant avoir été clair, je peux bien évidemment donner plus de détails.
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 n=1; res=[]; k=1; ind = find(C2>0.004); C3 = C2(ind); for it = 1:length(C3) if C3(it) == C3(it+n) n = n+1; if n == 4 res(k)= C3(it+n) end else display ('error') end
J'en demande à votre gentillesse et surtout votre savoir pour m'aiguillez sur une piste ou deux afin que je me creuse la tête et m'aider à corriger ce bout de script ! Si vous avez également des suggestions d'angles d'approches n'hésitez pas.
Amicalement, Florian
Partager