2010-10-15 53 views
1

我已经构造一个简单的Matlab的单元阵列:简单的索引

d1 = 
1 
2 
3 
4 
5 

d2 = 
2 
3 
4 
5 
6 

d3 = 
3 
4 
5 
6 
7 

d = 
[5x1 double] 
[5x1 double] 
[5x1 double] 

clear d1 d2 d3; 

如何访问单元阵列d内原有的阵列数据D1,D1被清除后?如果我做的:

>> d(1,:) 
ans = 
[5x1 double] 

但我想要做的是发出以下命令:

d(what indexing goes here?) 

,并使其返回:

1 2 3 4 5 
+2

这里有一个相关的问题,你可能会感兴趣:[如何拼接和索引不同的单元格和数组在MATLAB中?](http://stackoverflow.com/questions/2662964/how-do-concatenation-and- indexing-different-for-cells-and-arrays-in-matlab) – gnovice 2010-10-15 18:17:11

回答

5

没关系,我想通了:

d{1,1,:} 

返回原来的d1信息。

+9

'd {1}'可能会工作得很好。 'd'是一个1x5单元阵列,所以'd {n}'是其中一个单元的内容。 ('d(n)'是一个单独的单元格,又名1x1单元格数组,而不是你想要得到的数组数组)。你甚至可以使用多个下标:'d {2}(3)'得到第二个单元格中的数组。 – aschepler 2010-10-15 18:02:28

+0

完美!!!!感谢aschepler – ggkmath 2010-10-15 20:48:36