How do I find out a struct is empty?
    151 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
There are instances in a .mat file where there is information and no information within a particular struct. I'm trying to figure out how to identify that within the struct where there is no furture information avaliable, it's an empty struct. 
Let's say a .mat file contains below 
A = struct;
A.B = '1';
A.C = '2';
A.D = '3';
but there is another file that contains only what's below
A = struct;
Depending on what which file, or mutiple files that contain various numbers of variables, how do I check if a struct is empty so that I'll be able to initialize the data that is not empty into EditFields of an application.
0 Commenti
Risposta accettata
  Voss
      
      
 il 27 Set 2023
        It looks like you want to find out whether a struct has any fields or not, for which you can use isempty(fieldnames(A))
A = struct;
A.B = '1';
A.C = '2';
A.D = '3';
isempty(fieldnames(A))
A = struct;
isempty(fieldnames(A))
2 Commenti
  Voss
      
      
 il 27 Set 2023
				
      Modificato: Voss
      
      
 il 27 Set 2023
  
			Whether the struct is empty is another question, as empty and non-empty struct arrays can have fields or no fields.
A = struct('B',{}); % empty struct array with one field ('B')
is_empty_struct = isempty(A), has_no_fields = isempty(fieldnames(A))
A = struct('B',{1 2 3}); % non-empty (size 1-by-3) struct array with one field ('B')
is_empty_struct = isempty(A), has_no_fields = isempty(fieldnames(A))
A = rmfield(A,'B'); % non-empty struct array with no fields
is_empty_struct = isempty(A), has_no_fields = isempty(fieldnames(A))
A = A([]); % empty struct array with no fields
is_empty_struct = isempty(A), has_no_fields = isempty(fieldnames(A))
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Structures in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

