6.3.5 Обработка данных в массивах ячеек ¶
Данные, хранящиеся в массиве ячеек, могут быть обработаны несколькими способами в зависимости от фактических данных. Наиболее простой способ обработки этих данных — итерация по ним с помощью одной или нескольких for петель. Такую же идею можно реализовать проще с помощью функции cellfun, которая вызывает указанную пользователем функцию для всех элементов массива ячеек. См. cellfun.
Альтернативный способ — преобразовать данные в другой контейнер, например, в матрицу или структуру данных. В зависимости от данных это возможно с помощью cell2mat и cell2struct функций.
-
:
m =cell2mat(c)¶ -
Преобразует массив ячеек c в матрицу, конкатенируя все элементы c в гиперпрямоугольник.
Элементы c должны быть числовыми, логическими или символьными матрицами; или массивами ячеек; или структурами; и
catдолжны быть совместимы для конкатенации.
-
:
S =cell2struct(cell, fields)¶ -
:
S =cell2struct(cell, fields, dim)¶ -
Преобразует cell в структуру.
Количество полей в fields должно соответствовать количеству элементов в cell по размерности dim, то есть
numel (fields) == size (cell, dim). Если dim опущено, предполагается значение 1.S = cell2struct ({"Peter", "Hannah", "Robert"; 185, 170, 168}, {"Name","Height"}, 1); S(1) ⇒ { Name = Peter Height = 185 }См. также: struct2cell, cell2mat, struct.
© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.2.0/Processing-Data-in-Cell-Arrays.html