2016-02-19 130 views
4

Matlab有一個叫做setappdata的函數。從這個book(大約在緩存章),我已經瞭解到緩存的數據可以使用setappdata這樣被存儲在一個神祕物體0:Matlab中有句柄0的對象

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

的問題是,什麼是對象0?

回答

8

您已經發現了Matlab根對象0

所有MATLAB GUI對象都有handles - 包括根,這是0

此前R2014b把手被似乎是一個數來表示,但INFACT是一個指針圖形所有的圖形處理。

你會發現你創建的所有GUI都有能力存儲appdata。設置0對象中的數據 - >這將意味着你可以從任何地方得到它(但是它也可以在任何地方被覆蓋...) - >所以它最好存儲鏈接到你的應用程序的數據:

hFig = figure; 
setappdata (hFig, 'variableName', yourVariable) 

獲取數據使用:

cache = getappdata(0,'CashedData') 

% or post R2014b you can use: 
cache = getappdata(groot,'CashedData') 
+0

它有一些做用'groot'?如果是,那麼我可以使用來自'r = groot'的'r'訪問兌換數據嗎? –

+2

是'groot'是它的後'r2014b'的名字(它們本質上是一樣的) – matlabgui

+0

@matlabgue你知道什麼屬性/用什麼方法'groot'我可以訪問我的兌現值嗎? –