How remove a field inside a structure?
    11 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Neda
 le 25 Juil 2018
  
    
    
    
    
    Réponse apportée : Guillaume
      
      
 le 25 Juil 2018
            I need to remove a field which is inside a structure. I did attach the file to help for understanding the issue.
sd does have a field called Variables, and inside Variables filed, there are 6 fields. then inside each of these, there is Attributes and Text. I need to remove Text from all. I tried the following, but the error is saying too many arguments.
 fieldsS = fieldnames(sd.Variables);S = rmfield(sd,fieldsS(:),'Text');code
I read this link, but this case is different as there are many fields inside the structure.  https://uk.mathworks.com/matlabcentral/answers/29610-how-do-i-delete-a-field-variable-from-a-structure%20
0 commentaires
Réponse acceptée
  Giridharan Kumaravelu
      
 le 25 Juil 2018
         fieldsS = fieldnames(sd.Variables);
for i = 1:length(fieldsS)
   S.Variables.(fieldsS{i}) = rmfield(sd.Variables.(fieldsS{i}),'Text');
end
This could help.
Plus de réponses (1)
  Guillaume
      
      
 le 25 Juil 2018
        I haven't downloaded your mat file to check but this will probably do what you want:
sd.Variables = structfun(@(var) rmfield(var, 'Text'), sd.Variables, 'UniformOutput', false);
This assumes that the Variables field is indeed scalar.
0 commentaires
Voir également
Catégories
				En savoir plus sur Structures dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

