2014-10-10 95 views
0

任何人可以告訴我有關單元格陣列的索引?我試圖谷歌它,但我只能找到不滿意的結果(可能是我不善於使用谷歌搜索)。對於矩陣索引,我找到了一個很好的文檔,可以找到here。以我的情況爲例,請舉一個簡單的例子。如何訪問單元陣列矩陣?

a = {ones(10)} 

我想訪問a的第一個元素。像

a(1,1) % this will give a 10 x 10 matrix but i am not looking for it. 

東西,我可以通過改變它變成一個矩陣像

a = cell2mat(a); 
a(1,1) 
ans = 1 

,但做到這一點是有訪問單元陣列子矩陣的第一個元素任何直接的方式。

+0

當沒有別的工作,閱讀手冊/幫助:http://www.mathworks.com/help/matlab/matlab_prog/access-data-in-a-cell-array.html(別忘了也檢查「欲瞭解更多信息」部分) – 2014-10-10 08:50:59

+0

親愛的@ Oleg Komarov感謝您的回覆。我讀了它,但我無法找到我正在尋找什麼........... – user2851655 2014-10-10 08:58:26

+1

@ user2851655在重複問題中看到答案的結尾。您只需在'{{}}後調用'()',就像'a {1}(1)' – Dan 2014-10-10 09:00:51

回答

3

要訪問一個單元陣列中的所述第一小區的所述第一元件,可以這樣做:

a = {ones(10)}; 
a{1}(1) 

如果有多維單元陣列,具有在其內部多維數值數組,可以這樣做:

a{2,3}(4,5) 

這會給你單元格(2,3)的元素(4,5)。

+0

非常感謝我實際上正在尋找這種答案。謝謝 ........... – user2851655 2014-10-10 09:04:48

2

您實際上正在訪問a的第一個元素,並且它包含10×10的填充矩陣。

初始化一個單元格可以通過a = cell(10)來完成,並且使用a{i,j}獲得單元格矩陣的某個值。另請參閱documentation


要初始化具有某些值的單元陣列,請參見this question

+2

一樣。爲了訪問單元陣列元素的元素,單層索引是不夠的。 '一個{1,1}(1,1)'是相當的答案。 – 2014-10-10 08:57:57

+0

這就是你如何解釋這個問題。訪問單元格第一個元素中數組的第一個值是這樣完成的。無論如何,你確實有一點。 – MeMyselfAndI 2014-10-10 08:59:24

+0

@Jan de Gier。非常感謝親愛的,我真的爲你的幫助appriciate。但我正在尋找像**羅伯特**安東尼似的東西.... THANKSSSSSSSSSSSSSSSSSSSSSSSSS – user2851655 2014-10-10 09:01:25