从MATLAB图形中清除所有应用程序数据



我想从一个图中清除所有应用程序数据,而不使用单个应用程序数据变量的名称。

MATLAB中有什么函数可以实现上述功能吗?

不,你不能用简单的方法做到这一点。

图形的应用程序数据被MATLAB本身用来存储很多东西(例如图形的缩放和平移状态),而不仅仅是你自己设置的东西,所以仅仅"删除"它是个坏主意。

您可以使用getappdata(f)获取完整的应用程序数据集,其中f是图形的句柄(而不是更常见的getappdata(f, 'varname'),它将获取您存储在应用程序数据中的特定变量)。

结果是一个结构,然后您可以遍历字段名称并删除您存储的任何内容。

为了更容易做到这一点,您可以为存储的任何变量的名称使用一致的前缀。然后只需浏览字段名称,并为任何以前缀开头的字段调用rmappdata

最新更新