How do I delete a field variable from a structure

36 Ansichten (letzte 30 Tage)
Martin
Martin am 19 Feb. 2012
Kommentiert: Trung Hieu Le am 6 Jun. 2016
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 Kommentar
Jiro Doke
Jiro Doke am 19 Feb. 2012
I'm going to rename the title to better reflect the question.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jiro Doke
Jiro Doke am 19 Feb. 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 Kommentar
Martin
Martin am 19 Feb. 2012
Finally, it works as follows: handles=rmfield(handles,'Data');
Thx!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Jan
Jan am 19 Feb. 2012
Same effect as rmfield, but about 10 times faster: FEX: fRMField

Image Analyst
Image Analyst am 19 Feb. 2012
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 Kommentare
Martin
Martin am 20 Feb. 2012
great, it'll use
thx
Trung Hieu Le
Trung Hieu Le am 6 Jun. 2016
Thanks for this answer. It is perfect.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Type Identification finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by