if NaN then...
    47 views (last 30 days)
  
       Show older comments
    
    Clarisha Nijman
      
 on 2 Jan 2019
  
    
    
    
    
    Commented: Clarisha Nijman
      
 on 4 Jan 2019
            Dear all,
I have a function that returns me a PMatrix. But sometimes that matrix is full with nan's. The cause is known, but the best solution I found is to allow the function to compute such kind of "nan" matrices and to replace that "NaN  matrix in the end by the identity matrix. 
This is my actual code that works fine, uptill now.
 Som=sum(sum(PMatrix));
    Som(isnan(Som))=1;    
    if Som==1
        PMatrix=eye(k,k);
    end
I find this code clumsy and would prefer a more straight forward code saying: 
if sum(sum(PMatrix))=NaN
    PMatrix=eye(k,k)
end
But I can't figure out how to compose such a straight forward code. Does anyone has a suggestion for me?
Thank you in advance.
0 Comments
Accepted Answer
  Steven Lord
    
      
 on 2 Jan 2019
        Which release are you using? For release R2018b or later:
if any(isnan(PMatrix), 'all')
end
For release R2018a or earlier:
if any(isnan(Pmatrix(:)))
end
More Answers (1)
  Gareth
      
 on 2 Jan 2019
        
      Edited: per isakson
      
      
 on 3 Jan 2019
  
      Have you tried using the function isnan?
1 Comment
See Also
Categories
				Find more on Data Type Conversion in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!