Bonjour à tous !
J'ai un tableau (vI) dans lequel j'ai des nombres, et dans la colonne 6, j'ai des 'NaN' qui m’embêtent ...
Je veux supprimer les lignes de mon tableaux qui contiennent un 'NaN' ...
J'ai essayé plusieurs parades :
1) isnumeric(vI)
Mais quand je demande si une cellule qui contient 'NaN' est numérique, Matlab me renvoie 'true' :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for lig = 1:Dlig if isnumber(vI(lig,6)) == false vI(lig,:) = []; else n=n+1; vIfinal(n,:)= vI(lig,:); end end
2) Si cellule = 'NaN'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 >> vI(:,6) ans = 300 NaN NaN >> isnumeric(vI(2,6)) ans = 1
Mais je retrouve toujours mes 'NaN' en sortie. Quand je demande à Matlab si une cellule qui contient 'NaN' contient bien 'NaN' ... il me renvoie 'false' :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for lig = 1:Dlig if vI(lig,6) == 'NaN' vI(lig,:) = []; else n=n+1; vIfinal(n,:)= vI(lig,:); end end
Bref, un petit cuop de pouce ne serait pas de refus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 >> vI(2,6) == NaN ans = 0
merci d'avance !
Partager