Matlab

时间:2016-02-19 13:28:57

标签: matlab

Matlab有一个名为setappdata的函数。从这个book(关于缓存的章节)我了解到缓存数据可以使用setappdata存储在一个神秘的对象0中,如下所示:

setappdata(0,'CachedData',[0 1 2 3]) % I am caching vector [0 1 2 3]

问题是,对象0是什么?

1 个答案:

答案 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')