2015-08-13 44 views
1

Mathworks公司做了一遍:我的古R2012(如賦予我的公司)將返回一套很好的double小號識別響應圖窗口號碼圖形手柄對象的完整結構是什麼?

currhandles=findall(0,'type','figure'); 

現在我有一個老鄉遠程IM-ING我因爲我給他的代碼在R2015下失敗,因爲findall現在返回圖形句柄的結構。我無法玩W /他的系統(沒有RDC),mathworks文檔頁面似乎沒有指定圖形句柄結構的元素。特別是,我想知道我是否仍然可以檢索數字窗口號碼。有人知道嗎?

+1

參見:[圖形句柄現在對象,而不是雙打(HTTP:// WWW .mathworks.com /幫助/ MATLAB/graphics_transition /圖形把手 - 是 - 現在的對象 - 不doubles.html)。關於這個話題的[Loren的博客文章](http://blogs.mathworks.com/loren/2014/10/14/matlab-r2014b-graphics-part-2-using-graphics-objects/)也擴展了這一點。 – excaza

回答

3

當然。

currhandles(:).Number 

將返回所有數字作爲逗號分隔列表。

或指定你想一個數字:

currhandles(1).Number 

的順序似乎是初始化的順序相反。


另外,您可以定義兩個匿名函數可以直接獲得一個數組:

figure(1); figure(2); figure(42); 

getNumbers = @(x) [x.Number]; 
getFigureNumbers = @() getNumbers([findall(0,'type','figure')]); 

getFigureNumbers() 

ans = 

    42  2  1 
+1

子訂單通常與初始化順序有關。 – excaza