How do I delete a field variable from a structure

I have variable in gui: handles.Data; Data is type: 70x50x2 logical. I need to delete the variable data. When i write: delete(handles.Data); or clean(handles.Data); then get an error: Argument must contain a string. :(
Thank you

1 commentaire

Jiro Doke
Jiro Doke le 19 Fév 2012
I'm going to rename the title to better reflect the question.

Connectez-vous pour commenter.

 Réponse acceptée

Jiro Doke
Jiro Doke le 19 Fév 2012
handles.Data is a field of variable handles. To delete a field,
handles = rmfield(handles. 'Data');
To set the field to empty,
handles.Data = [];

1 commentaire

Martin
Martin le 19 Fév 2012
Finally, it works as follows: handles=rmfield(handles,'Data');
Thx!

Connectez-vous pour commenter.

Plus de réponses (2)

Jan
Jan le 19 Fév 2012

1 vote

Same effect as rmfield, but about 10 times faster: FEX: fRMField
Try this robust code, to avoid errors:
% Try to remove the field called Data, if there is one.
% First see if there is a field called "Data."
hasField = isfield(handles, 'Data') % Will be True or False.
% Now remove it if it's there.
if hasField
% Field is there. Remove it.
handles = rmfield(handles, 'Data')
else
% Field is not there, warn user.
warningMessage = sprintf('Warning: the structure "handles"\ndoes not have a field called "Data."');
uiwait(warndlg(warningMessage));
end

2 commentaires

Martin
Martin le 20 Fév 2012
great, it'll use
thx
Thanks for this answer. It is perfect.

Connectez-vous pour commenter.

Catégories

En savoir plus sur App Building dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by