如何访问Cell数组矩阵?

时间:2014-10-10 08:48:23

标签: matlab matrix vectorization

有人能告诉我关于单元格数组的索引吗?我试图谷歌它,但我只能找到不满意的结果(可能是我不善于谷歌搜索)。对于矩阵索引,我找到了一个可以找到的好文档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

但是有没有直接访问单元格数组子矩阵的第一个元素的方法。

2 个答案:

答案 0 :(得分:3)

要访问单元格数组中第一个单元格的第一个元素,您可以执行以下操作:

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

如果你有多维单元格数组,里面有多维数值数组,你可以这样做:

a{2,3}(4,5)

这将为您提供单元格(2,3)的元素(4,5)。

答案 1 :(得分:2)

您实际上正在访问a的第一个元素,它包含一个10×10的矩阵,其中包含1个。

可以通过a = cell(10)初始化单元格,并使用a{i,j}获取单元格矩阵的特定值。另请参阅documentation


有关使用某些值初始化单元格数组,请参阅this question