How do I delete a field variable from a structure

29 ビュー (過去 30 日間)
Martin
Martin 2012 年 2 月 19 日
コメント済み: Trung Hieu Le 2016 年 6 月 6 日
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 件のコメント
Jiro Doke
Jiro Doke 2012 年 2 月 19 日
I'm going to rename the title to better reflect the question.

サインインしてコメントする。

採用された回答

Jiro Doke
Jiro Doke 2012 年 2 月 19 日
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 件のコメント
Martin
Martin 2012 年 2 月 19 日
Finally, it works as follows: handles=rmfield(handles,'Data');
Thx!

サインインしてコメントする。

その他の回答 (2 件)

Jan
Jan 2012 年 2 月 19 日
Same effect as rmfield, but about 10 times faster: FEX: fRMField
  1 件のコメント
Martin
Martin 2012 年 2 月 19 日
Ok I'll try, thx ;)

サインインしてコメントする。


Image Analyst
Image Analyst 2012 年 2 月 19 日
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 件のコメント
Martin
Martin 2012 年 2 月 20 日
great, it'll use
thx
Trung Hieu Le
Trung Hieu Le 2016 年 6 月 6 日
Thanks for this answer. It is perfect.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeText Files についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by