Bonjour, imaginons :
J'aimerais faire la somme des éléments de data du même jour, ie me retouver avec une matrice :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 temps = [1 1 2 2 3 3 3 4 4] %(en jour) data= [741 nan 458 42 48 78 nan 85 95]
donc j'utilise UNIQUE :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sum_data_jour = [741 458+42 48+78 85+95]
le problème étant que la SUM des éléments d'un matrice contenant un NaN est toujours égale à NaN...pas terrible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 temps_uni = unique(temps) for i_uni = 1:length(temps_uni) data(i_uni) = sum(data(temps==temps_uni(i_uni))); end
Je pourrais sûr rajouter cette commande avant pour transformer mes NaN en 0 :
Mais n'y a t il pas un moyen de faire un double indexage logique au lieu de tout ça? un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 data(isnan(data))=0;
Code : Sélectionner tout - Visualiser dans une fenêtre à part data(i_uni) = sum(data(data==temps_uni(i_uni) & isnan(data)=0));
Merci
Partager