6.3.5 处理元胞数组中的数据

存储在元胞数组中的数据可以根据实际数据类型以多种方式进行处理。处理这些数据最简单的方法是使用一个或多个 for 循环对其进行遍历。通过使用 cellfun 函数可以更轻松地实现相同的思路,该函数对元胞数组的所有元素调用用户指定的函数。请参阅 cellfun

另一种方法是将数据转换为不同的容器,例如矩阵或数据结构。根据数据的不同,可以使用 cell2matcell2struct 函数来实现这一转换。

 
m = cell2mat (c)

通过将元胞数组 c 的所有元素连接成一个超矩形,将其转换为矩阵。

c 的元素必须是数值矩阵、逻辑矩阵或字符矩阵;或元胞数组;或结构体;并且 cat 必须能够将它们连接在一起。

另请参阅: mat2cell, num2cell.

 
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.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4