如果您只想存储块的名称,那么可以。如果您想要一些数据和描述性名称,我认为结构将如下所示:
data = struct([blkName 'Values'],[]);
set_param(gcb,'UserData',data);
然后当你得到你使用的数据时,
ud = get_param(gcb,'UserData');
% ud.([blkName 'Values']) <- your data
或者您可以使用全局appdata
存储:
setappdata(0,[blkName 'Values'],data);
data = getappdata(0,[blkName 'Values']);
或者您可以在运行时重写该函数以创建一个具有您想要的名称的变量yick,但我已经看到了类似的事情。!
编辑
这UserData
是我多次用于对话框回调的方法,所以我相信它会起作用,但是我可能不完全理解您的应用程序。:-)
编辑
如果您需要在每次加载模型时保留数据,则必须将UserDataPersistent
参数设置为'on'
. 这是一个令人讨厌但可以理解的必要功能,用于选择是否忘记模型关闭并从内存中清除后发生的事情。由于这是您的用例,persistent
m 脚本中的变量将不起作用,因为它们在 Matlab 终止时被遗忘。我相信你需要像setpref一样使用它来让它在 Matlab 会话之间持续存在。