Matlab有一个名为setappdata
的函数。从这个book(关于缓存的章节)我了解到缓存数据可以使用setappdata
存储在一个神秘的对象0中,如下所示:
setappdata(0,'CachedData',[0 1 2 3]) % I am caching vector [0 1 2 3]
问题是,对象0是什么?
答案 0 :(得分:8)
您已发现Matlab根对象0
。
所有matlab GUI对象都有handles
- 包括root,即0。
在R2014b之前,所有图形句柄都用似乎是数字的表示,但实际上是指向图形句柄的指针。
您会发现您创建的所有GUI都能够存储appdata。
在0对象中设置数据 - >这意味着你可以从任何地方获得它(但它也可以从任何地方覆盖......) - >所以最好存储链接到您的应用程序的数据:
hFig = figure;
setappdata ( hFig, 'variableName', yourVariable )
获取您使用的数据:
cache = getappdata(0,'CashedData')
% or post R2014b you can use:
cache = getappdata(groot,'CashedData')