Writing IF STATEMENT that omits empty fields in different arrays of a structure
    2 views (last 30 days)
  
       Show older comments
    
I need writing an if statement that would exclude empty fields in a structured array (pictured attached). I am to make use of non-empty fields of M.id, M.xd and M.yd. I came up with this but not working:
for i=1:1:n % n is 100
    if ~isempty M(i) % this is where my problem lies
       for z=1:t % t is 5
            min_dis_local=inf;
            distanceL=sqrt( (S(i).xd-(M(z).xd) )^2 
       end
    end
end
I got this error instead:
Error using isempty
Not enough input arguments.
Answers (1)
  Dyuman Joshi
      
      
 on 25 Jan 2023
        
      Edited: Dyuman Joshi
      
      
 on 25 Jan 2023
  
      You need to use () with isempty, otherwise it would assume the input to be a string array
y = [];
isempty(y)
isempty y
%even though x is not defined, it returns 0 when checked with isempty
isempty x
When you add ~ operator before isempty without (), it will through you an error, which is what you encountered
~isempty y
5 Comments
See Also
Categories
				Find more on Structures 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!
