2015-07-23 2 views
0

У меня размер ячейки 1x142884 (у меня есть 142884 элементов в одной ячейке), и мне интересно сгруппировать эти элементы в ячейке по 36 каждый. Поэтому у меня должны быть ячейки 142884/36 = 3969. Может кто-то помочь мне сгруппировать те клетки, где каждая ячейка состоит из 36 клеток.
EDIT
Вот мой кодЭлементы группы в ячейке в matlab

yaml_file = 'Feature000000'; 
YamlStruct = ReadYaml(yaml_file); 
feature0 = YamlStruct.features1; 
blocks_per_img = YamlStruct.blockperimg; 

Вы можете скачать файл из Feature000000 here

+2

Используйте ['mat2cell'] (http://www.mathworks.com/help/matlab/ref/mat2cell.html) на матрице внутри вашей отдельной ячейки. Дайте ему попробовать и отчитаться, если вы застряли ... – Dan

+0

Вы имеете в виду под «a single cell» ячейку размером 1 × 1, и эта одиночная ячейка содержит что-то размером 1 × 142884? – Erik

+0

У меня есть одна ячейка и размер 1x142884. @Erik – shah

ответ

1

Использование reshape следующим образом:

B = reshape(C,36,3969) 

Вы будете в конечном итоге с ячейкой B размером 36 × 3969, поэтому каждая строка является одним из 36 предметов длиной 3969.

+0

он создает ячейку 36x3969. Не могли бы вы дать мне доступ к первым 36 значениям. Я обновил свой вопрос с помощью кода и файла. При таком подходе у меня неправильные значения. @Erik – shah

+1

Первые 36 значений будут первым столбцом, то есть «B {:, 1}». – Erik

+0

Я считаю, что эта техника не будет работать, поскольку мне нужно 36 последовательных элементов. от 1 x 142884. Не могли бы вы проверить? @Erik – shah

Смежные вопросы