I mean how to find specific row in the matrix (for example 'find' [3 8 NaN] must return me [0;0;0;0;1];).
Find row with NaN in it.
    27 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Artyom
      
 am 17 Aug. 2014
  
    
    
    
    
    Kommentiert: sworland
      
 am 9 Dez. 2015
            I have variable X.
 X=[2   4   6;
    4   5   NaN
    3   NaN NaN
    5   8   12
    3   8   NaN];
How to find any row with NaN in it. ismember([3 8 NaN],X,'rows') gives me 0.
Akzeptierte Antwort
  per isakson
      
      
 am 17 Aug. 2014
        
      Bearbeitet: per isakson
      
      
 am 17 Aug. 2014
  
      A start:
    is(:,1) = X(:,1)==3;
    is(:,2) = X(:,2)==8;
    is(:,3) = isnan( X(:,3));
    all( is, 2 )
which returns
    ans =
         0
         0
         0
         0
         1
AFAIK: isnan is the only way to spot NaN.
I don't think there is a magic one-liner. A little function along the example above is one way. Loop over all columns, ....
0 Kommentare
Weitere Antworten (3)
  Guillaume
      
      
 am 17 Aug. 2014
        [rows, columns] = find(isnan(X));
unique(row);
will give you the row indices
1 Kommentar
  Roger Stafford
      
      
 am 17 Aug. 2014
        
      Bearbeitet: Roger Stafford
      
      
 am 17 Aug. 2014
  
      The code
   t = any(isnan(X),2);
will return you a column vector of logicals in which each element is true if the corresponding row of X contains a NaN. I trust that would meet your needs. In your example you would get t = [false;true;true;false;true].
0 Kommentare
  Andrei Bobrov
      
      
 am 17 Aug. 2014
        
      Bearbeitet: Andrei Bobrov
      
      
 am 17 Aug. 2014
  
         X=[2   4   6;
      4   5   NaN
      3   NaN NaN
      5   8   12
      3   8   NaN];
  с = [3 8 NaN];
z = [X;c];
z(isnan(z)) = max(z(:)) + 1;
out = ismember(z(1:end-1,:),z(end,:),'rows');
other example
X = randi(100,200,15);
X([5,125],[2,10]) = nan; % your array
c = X(5,:);
z = [X;c];
z(isnan(z)) = max(z(:)) + 1;
out = ismember(z(1:end-1,:),z(end,:),'rows');
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Elementary Polygons finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!