文档

cell2struct

转换单元阵列结构数组

语法

structArray= cell2struct (cellArray,字段,昏暗的)

描述

structArray= cell2struct (cellArray,字段,昏暗的)创建一个结构数组,structArray从信息包含在单元阵列cellArray

字段结构数组参数指定字段名称。这个参数是一个字符数组,单元阵列特征向量,或一个字符串数组。

昏暗的论点告诉MATLAB®轴的使用数组来创建数组结构。使用一个数字指定昏暗的

创建一个结构数组字段来自N行一个细胞数组,指定N的字段名字段参数,和1号昏暗的论点。创建一个结构数组字段来自列的数组,指定的字段名字段参数和数量2昏暗的论点。

structArray输出是一个结构数组N字段,N等于字段的数量字段输入参数。字段的数量产生的结构必须等于细胞的数量以及尺寸昏暗的你想把。

例子

创建以下表为本节中的示例使用。下表列出了一个小的工程公司的员工信息。读表的行显示了部门员工的名字。读表的列显示了数量的年每个员工在该公司工作。

5年 10年 15年
发展 李、苇、山 迪安,弗莱 车道,福克斯,王
销售 豪,伯恩斯 科比,福特 大厅
管理 价格 克拉克,谢伊 西姆斯
质量 贝茨,灰色 纳什 凯,追逐
文档 劳埃德,年轻 莱恩哈特,罗伊 沼泽

输入以下命令创建初始单元阵列员工:

猛击={{“李”,“芦苇”,“山”},{‘院长’,‘Frye},…{‘道’,‘狐狸’,‘国王’}};销售={{“豪”、“烧伤”},{“科比”,“福特”},{“大厅”}};管理={{‘价格’},{“克拉克”、“谢伊”},{“模拟人生”}};质量={{“贝茨”,“灰色”},{“纳什”},{“凯”、“追逐”}};docu = {{‘Lloyd’,‘年轻’},{“瑞恩”,“哈特”,“罗伊”},{“沼泽”}};员工=[重击;销售;管理;定性; docu] employees = {1x3 cell} {1x2 cell} {1x3 cell} {1x2 cell} {1x2 cell} {1x1 cell} {1x1 cell} {1x2 cell} {1x1 cell} {1x2 cell} {1x1 cell} {1x2 cell} {1x2 cell} {1x3 cell} {1x1 cell}

这是生成的单元阵列:

细胞数组转换为一个struct沿着维度1:

  1. 把5-by-3单元阵列在其第一个维度构建一个3×1与5个领域的结构体数组。每一行的维度1单元阵列结构体数组变成一个字段:

    遍历第一(即。,vertical) dimension, there are 5 rows with row headings that read as follows:

    rowHeadings ={“发展”、“销售”、“管理”,…“质量”、“文档'};
  2. 细胞数组转换成一个结构体数组,部门参考这个尺寸:

    部门= cell2struct(员工、rowHeadings 1)部门= 3 x1结构体数组字段:开发销售管理质量文档
  3. 使用这个row-oriented结构发现开发人员的名字一直与该公司10年:

    部门(1:2】。ans =‘李’“芦苇”“山”ans =‘院长’‘Frye’

同一单元阵列转换为一个struct沿着维度2:

  1. 转换5-by-3沿着第二维度构建5-by-1单元阵列结构体数组与3字段。沿着维度的每个列的第2单元阵列结构体数组变成一个字段:

  2. 沿着第二遍历单元阵列(或水平)维度。列标题成为领域的结构:

    colHeadings ={'五' ' 10年' ' fifteenYears};年= cell2struct(员工、colHeadings 2)年= 5 x1结构体数组字段:fifteenYears五10年时间里
  3. 使用用于结构,显示有多少销售和文档部门的员工为公司工作了至少5年:

    [sales_5years ~, ~, ~, docu_5years] =年。五sales_5years =“豪”“烧伤”docu_5years =“劳埃德”“年轻”

只有单元阵列的一部分转换为一个结构体:

  1. 转化细胞的只有第一个和最后一个行数组。这个结果在一个3×1结构体数组2字段:

    rowHeadings ={‘发展’,‘文档’};部门= cell2struct(员工([1,5],:),rowHeadings, 1)部门= 3 x1结构体数组字段:开发文档

  2. 显示所有这些员工属于部门三个时间:

    :k = 1:3部门(k)结束ans =发展:{“李”“芦苇”“山”}文档:{“劳埃德”“年轻”}ans =发展:{“院长”“Frye”}文档:{“瑞恩”“哈特”“罗伊”}ans =发展:{“车道”“福克斯”“王”}文档:{“沼泽”}

扩展功能

之前介绍过的R2006a