Он называется массивом ячеек.
Вы инициализируете его с помощью команды cell
cellArray = cell(3,2); %# this makes a 3-by-2 cell array
Альтернативный способ хранения коллекций различных объектов - struct , которую вы бы инициализировали следующим образом
myStruct = struct('firstField',1,'secondField',[2 3])
Преимущество структур над ячейками заключается в том, что поля имеют имена, что упрощает работу и документирование.Ячейки могут быть очень удобны для хранения данных, если вы хотите часто манипулировать данными, потому что вы можете, например, использовать cellfun
с ними.Я часто использую ячейки для хранения данных внутри функции, но использую структуры (или объекты) для передачи данных между функциями.
Кроме того, если у вас есть список чисел и вы хотите распределить их по элементаммассив ячеек, вы можете использовать num2cell
, который помещает каждый элемент массива отдельно в элемент массива ячеек, или mat2cell
, если вы хотите разделитьмассив неравномерно.
a = {1,[2 3]}
эквивалентно
b = mat2cell([1 2 3],[1 1],[1 2]);