Bonjour,

Cherchant à calculer des jours consécutifs de pluie le code de Kmaniche (voir cette discussion) est correct,
exemple j'ai la matrice "a" suivante
ligne 1 les dates AAAA/MM/JJ et ligne 2 des valeurs de précipitations
a
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
20010101	20010102	20010103	20010104	20010105	20010107       20010108  	20010109    	 20010110	20010111	20010112	20010113
1	        1	        17	        7	        2	        2              8	        0	        13	           5	           2	           2
J'applique donc son code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[snz, nbnz] = nonzeros2(a(:,2))
J'obtiens donc
snz= [7 4] qui est la taille des séquences pluvieuses, et nbnz=2 qui est le nombre de séquences pluvieuses
De plus je calcul un indice qui me donne le nombre d'évènement où j'ai des jours consécutif de pluie de 6 jour ou plus
J'ai donc ici dans mon cas CWD6j= 1

Or dans mon vecteur date je m’aperçois qu'il me manque le 20010106. Je souhaite donc un code qui m'arrete de compter lorsqu'il manque une date car j'ai 10 ans de données journalières et donc par moment plusieurs trous.
Dans ce cas j'aimerai obtenir snz= [5 2 4], et nbnz=3 et à ce moment CWD6j= 0

Pour cela j'ai crée un vecteur time complet avec toutes les dates et j'y affecte les valeur NaN. A l'aide de la fonction ismember je reconstitue mon vecteur complet avec des NaN là où il me manque une date. J'ai donc à présent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
20010101	20010102	20010103	20010104	20010105	20010106     20010107	    20010108	 20010109   20010110	   20010111	   20010112	   20010113
1	        1	        17	        7	        2	        NaN          2              8	         0	    13	           5	           2	           2
Mais lorsque je reprend le code de Kmaniche il prend pas les NaN, je ne peux pas pas calculer snz et nbnz, alors que moi j'aimerai qu'il s’arrête de compter dès qu'il voit un 0 ou bien un NaN

la fonction nonzeros2 de kmaniche est disponible ici

Quelqu'un as t-il la solution ? Cela fait plusieurs semaines que je bloque.