2012-02-04 134 views
0

我有一个叫做data的28 x 28 x 1 x 10000矩阵和一个叫做labels的1 x 10000向量,它由0-9的一串整数组成。 d真正想要做的是将data矩阵分成10个较小的矩阵,对应于label值。Matlab:选择非连续的矩阵列

有没有办法做到这一点,而不是for循环?

+0

难道你的意思是标签有10000大小? – 2012-02-04 23:09:28

回答

2

Matlab允许切片索引。例如:

data(:,:,:,1:1000) 

我不明白你是如何得到“不连续的”。有一个提示在标签上选择,但尺寸不匹配。如果他们这么做:

data(:,:,:,label == 1) 

data(:,:,:,find(label == 1)) 
+0

对不起,这是一个错字,有10000个标签。就切片而言,我需要能够说1:3,但也是4,然后也是7:10等等。尽管 – Mala 2012-02-04 23:10:31

+0

谢谢,我会给条件一个尝试,有条件的事情工作! – Mala 2012-02-04 23:14:03