remove negative and NaN from cell array.
Afficher commentaires plus anciens
Hey
I have a cell array A
A= {NaN,-1,-1,0.8,-0.6,[],[]; NaN,NaN,0.9,1,NaN,-0.05,0.4; -1,NaN,NaN,0.7,0.2,NaN,0.79}
I want to remove negative and NaN values from all the rows and store result in a cell array like:
A{1,1}={0.8}
A{2,1}={0.9,1,0.4}
A{3,1}={0.7,0.2,0.79}
Thanks in advance.
Réponse acceptée
Plus de réponses (1)
KSSV
le 1 Jan 2018
A= {NaN,-1,-1,0.8,-0.6,[],[]; NaN,NaN,0.9,1,NaN,-0.05,0.4; -1,NaN,NaN,0.7,0.2,NaN,0.79} ;
% Replace empty cells with NaN's
idx = cellfun('isempty',A) ;
A(idx) = {NaN} ;
% convert to matrix
B = cell2mat(A) ;
iwant = cell(size(B,1),1) ;
for i = 1:size(B,1)
T = B(i,:) ;
T = T(~isnan(T)) ;
iwant{i} = T(T>0) ;
end
1 commentaire
Tha saliem
le 1 Jan 2018
Catégories
En savoir plus sur Cell Arrays dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!